1

Gmap Javascript API v3 でレンダリングされた Google マップにハイブリッド、サテライト、テレイン、物理ビュー モードを追加するにはどうすればよいですか?

私のコードは次のようになります:

var myLatlng = new google.maps.LatLng(47.283902, 11.526825);
var mapOptions = {
  zoom: 14,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
  mapTypeControlOptions: {
    mapTypes: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN]
  }
};

directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
map = new google.maps.Map(document.getElementById("gmap"), mapOptions);
directionsDisplay.setMap(map);

しかし、これはうまくいかないようです!

4

2 に答える 2

2

Google が 5 月 19 日に V2 を終了させたため、一部の古い V2 マップを V3 に変換するときに、この同じ問題を調べていました。V2 ではそれがオプションだったので、それを追加するように求められていました。

ただし、V3 では、サテライトとハイブリッドは同じです。ラベルは衛星ビュー用にオンになっていますが、これが唯一の違いです。したがって、機能的には、衛星ビューとハイブリッド ビューに 2 つのボタンを用意する必要はありません。サテライト ボタンには、これらのラベルを無効にするためのラベル チェック ボックス オプションを含むドロップ メニューがあります。

もちろん、カスタム ボタンを作成することもできますが、それは完全に冗長です。

于 2013-01-14T23:42:56.783 に答える
1

ROADMAPTERRAINSATELLITEおよびHYBRIDは基本的なマップ タイプであり、追加する必要はありません。それらの中から選択したい場合は、マップオプションを使用して有効にする必要がありますmapTypeControlブール値:マップタイプコントロールの初期有効/無効状態)。

たとえば、次を使用します。

var mapOptions = {
    zoom: 14,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: true
};

ウィンドウの右上隅にマップ コントロールが表示されます。次に、好みのマップのタイプを選択できます。

于 2014-01-13T08:40:43.067 に答える