2016-08-02 6 views
3

私はBing Map LayerをロードするOpen Layersを使用してジオロケーションを使用するアプリケーションを構築しています。タッチだけでズームを制御したいので、デフォルトのズームボタンを削除したいと思っています。理想的には、少なくとも「i」ボタンも移動して、丸い白いボタンと衝突しないようにしたいと思います。ここでOpen Layersからデフォルトのコントロールを削除するBing Map

は、それが現在のレンダリング方法のスクリーンショットです:

App screenshot だから私は白い丸いものの下に青いボタンについて話しています。

ジオロケーションコードとは別に、これは私がBing Mapsレイヤーを追加する方法ですが、ここではこれらを削除するコードを追加すると仮定していますが、試したことは違いがありません。

var styles = [ 
    'Road', 
    'Aerial', 
    'AerialWithLabels', 
    'ordnanceSurvey' 
]; 
var layers = []; 
var i, ii; 
for (i = 0, ii = styles.length; i < ii; ++i) { 
    layers.push(new ol.layer.Tile({ 
     visible: false, 
     preload: Infinity, 
     source: new ol.source.BingMaps({ 
      key: 'my key is here in the real version', 
      imagerySet: styles[i], 
      disableZooming: true, 
      // use maxZoom 19 to see stretched tiles instead of the BingMaps 
      // "no photos at this zoom level" tiles 
      maxZoom: 19 
     }) 
    })); 
} 

誰にも提案はありますか?

答えて

6

コントロールとattribution(右下にiボタン)zoom(左上にプラスとマイナスボタン)がol.Map構成の一部です。これらを無効にするには、ol.Mapを次のように初期化してください:

var map = new ol.Map({ 
    ... 
    controls : ol.control.defaults({ 
     attribution : false, 
     zoom : false, 
    }), 
    ... 
}); 
+0

素晴らしい人!ありがとうございました! –

+0

@HelenDangerBurns私は助けることができてうれしいです! :) – xnakos

+1

アプリのどこかのBingマップに属性を追加してください。これにより、Bing Mapsの利用規約に沿ったインライン表示が可能になります。帰属要件の詳細については、こちらをご覧ください。https://www.microsoft.com/maps/mob-brand-guid.aspx – rbrundritt

関連する問題