Google Maps API – マップタイプの例
Google Maps APIは4つのマップタイプをサポートしています:
-
ROADMAP – 通常の通り/道路地図(デフォルトの地図タイプ)を表示します.
-
地形 – 地形情報に基づいて通常の通り/道路地図を表示します.
-
衛星 – 衛星画像のみを表示します.
-
ハイブリッド – ノーマルビューとサテライトビューを混在させ、通り/道路ビューを表示する
衛星画像の上に表示されます。
1.地図タイプ
利用可能なすべてのマップタイプについては、このhttp://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeId[MapTypeId APIリファレンス]を参照してください。
次のようにGoogleマップを作成するとマップの種類を変更できます:
var latlng = new google.maps.LatLng(37.4220279, -122.0840677); var myOptions = { zoom: 13, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP //change here }; var map = new google.maps.Map(document.getElementById("map__container"),myOptions);
または、次のように動的に変更します。
var map = new google.maps.Map(document.getElementById("map__container"),myOptions); map.setMapTypeId(google.maps.MapTypeId.HYBRID);
2.地図タイプコントロールオプション
また、 “マップタイプコントローラ”の位置とスタイルを変更することができます。
マップタイプコントローラは、マップ上に小さなボックスまたはドロップダウンメニューを表示するので、ユーザーはマップタイプを動的に変更できます。
図を参照してください:
3マップタイプのコントロールがサポートされています:
-
DEFAULT – デフォルトでは、表示オプションはウィンドウのサイズと
その他の要因。
-
DROPDOWN__MENU – ドロップダウンメニューにオプションを表示します.
-
HORIZONTAL__BAR – オプションをボタンとして表示し、水平に整列します.
このような制御スタイルを設定する:
var latlng = new google.maps.LatLng(37.4220279, -122.0840677); var myOptions = { zoom: 13, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN__MENU } };
さらに、マップタイプコントローラーを表示する場所をカスタマイズし、このhttp://code.google.com/apis/maps/documentation/javascript/reference.html#ControlPosition[Googleマップコントロールの位置の参照]で利用可能なすべての位置を参照してください。
var latlng = new google.maps.LatLng(37.4220279, -122.0840677); var myOptions = { zoom: 13, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN__MENU, position: google.maps.ControlPosition.BOTTOM__RIGHT } };
上記のコードスニペットでは、コントロールは右下に表示され、
3.地図タイプの例
Googleマップ(Googleマップの1600 Amphitheatre Parkway Mountain View、CA 94043)の場所を表示する完全な例:
-
マップタイプ=ハイブリッド
-
マップタイプコントロール= DROPDOWN__MENU
-
マップタイプの制御位置= TOP__CENTER
-
マップ上の場所を識別するマーカーを追加します.
<html> <head> <title>Google Maps API - Map Type</title> <style type="text/css"> div#map__container{ width:100%; height:350px; } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> function loadMap() { var latlng = new google.maps.LatLng(37.4220279, -122.0840677); var myOptions = { zoom: 13, center: latlng, mapTypeId: google.maps.MapTypeId.HYBRID, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN__MENU, position: google.maps.ControlPosition.TOP__CENTER } }; var map = new google.maps.Map(document.getElementById("map__container"),myOptions); var marker = new google.maps.Marker({ position: latlng, map: map, title:"Google Office!" }); } </script> </head> <body onload="loadMap()"> <div id="map__container"></div> </body> </html>
結果
参考文献
地図タイプの説明]。
http://code.google.com/apis/maps/documentation/javascript/reference.html
[Google
Maps JavaScript v3 APIリファレンス]