その昔、Google Maps JavaScript API は無料で使えたが、のちに有料となった。 2018年現在、1日あたり最大25,000回のマップロードが無料で、それ以上は無料となっている。 詳しくは 価格とプラン に書かれている。 無料の地図としては Embed API があり、できることは限られるが、それなりに使える。
ここでは古い仕様のv3とv2をメモとして残しておく。
v3ではAPIキーなしで使えていたが、仕様が変わり、すべての地図APIはキーが必要となっている。 有料になってから使っていないので、公式サイトにもあるサンプルコードだけ記す。
<script> function initMap() { var map = new google.maps.Map(document.getElementById('map'), { center: {lat: 35.710139, lng: 139.810833}, zoom: 8 }); } </script> <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
ドキュメントは Google Maps JavaScript API にある。
2012年4月、Google Maps API v3 が最新版だった。 v3はパソコンだけでなく、スマートフォンやタブレットPCなどのモバイル端末でも快適に動作するように設計されている。
まず、APIを使う準備をする。 v2まではサイトごとに API key が必要だったが、v3 は必要ない。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
引数 sensorは、位置情報取得にセンサーを使用するかどうかの指定。 trueは使用する、falseは使用しない。 使用しない場合でもfalseは指定しておく。 無指定はNG。 次に具体的に地図に関する処理を行う。
<script type="text/javascript"> function initialize() { //緯度・経度 var myLatlng = new google.maps.LatLng(35.710139, 139.810833); var myOptions = { zoom: 16, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; //キャンバス var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //マーカー var marker = new google.maps.Marker({ position: myLatlng, map: map, title: "テスト" }); //吹き出しのテキスト var contentString = '東京スカイツリー<br />2012年5月22日開業'; var infowindow = new google.maps.InfoWindow({ content: contentString }); infowindow.open(map, marker); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, marker); }); } </script>
以下、主な設定。
次に上記 JavaScript を実行する。
<script type="text/javascript"> initialize(); </script>
次に、地図を表示したい位置にタグを書く。 地図は id="map_canvas"(上記JavaScript内で指定したID)のタグ内に表示される。 地図の大きさはCSSなどでwidthとheightを指定する。
<div id="map_canvas" style="width:640px;height:480px"></div>
基本的にv3と同じだが、APIキーが必要だった。
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=YOUR_API_KEY"> </script>
key以外の引数はそのままで良い。 ただし、古いキーは既にサービス終了して取得できない。 次に具体的に地図に関する処理を行う。
<script type="text/javascript"> function initialize() { //キャンバスと座標 var map = new GMap2(document.getElementById("map_canvas")); var lat = 35.710139;//緯度 var lng = 139.810833;//経度 map.setCenter(new GLatLng(lat, lng), 16); //コントローラ map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); //マーカーとテキスト var center = new GLatLng(lat, lng); var marker = new GMarker(center, {clickable: true}); var markerText = "東京スカイツリー<br />2012年5月22日開業"; GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(markerText); }); map.addOverlay(marker); marker.openInfoWindowHtml(markerText); } </script>
以下、主な設定。
その他はv3と同じ。