Google Maps API V3

ここではGoogle Maps API V3について解説していきます。

※2018年7月16日よりAPIキーが必須で有料になりました。
Google Cloud Console にログインしてMaps JavaScript APIとGeocoding APIのキーを発行してください。
https://cloud.google.com/

GoogleMap

デモはこちら
https://office-goto.info/demo/map/

headで読み込み

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

GPS機能を使う場合sensor=trueに
GPS機能を使わない場合はsensor=falseにしてください。

html

<div id="gmap"></div>

地図を表示させるためターゲット指定してください。

サンプルソース

google.maps.event.addDomListener(window, 'load', function() {
    var latlng = new google.maps.LatLng(35.671277, 139.718489);
    var options = {
        zoom: 16,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("gmap"), options);

    // InfoWindowオブジェクト
    var infowindow = new google.maps.InfoWindow();

    // マーカーオブジェクト
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });

    // マーカクーリック時
    google.maps.event.addListener(marker, 'click', function (e) {
        infowindow.setContent('Hello World');
        infowindow.open(map, marker);
    });

    google.maps.event.addListener(map, 'drag', dispLatLng);
    function dispLatLng(){
        var center = map.getCenter();
        $('#centerLat').attr('value', center.lat());
        $('#centerLng').attr('value', center.lng());
    }
});

解説

new google.maps.LatLng(35.671277, 139.718489); (2行目)
緯度経度の取得です。

var options = {} (3~7行目)
ズームレベルや地図の中心、表示タイプなどを指定します。

new google.maps.Map(document.getElementById(“gmap”), options); (8行目)
idとoptionsを指定してMapオブジェクトを作成しています。

new google.maps.InfoWindow(); (11行目)
マーカークリックでウィンドウを出すためオブジェクトを作成しています。

new google.maps.Marker({}); (14行目)
マーカーを置く位置を緯度経度で指定してMapオブジェクトに追加します。

google.maps.event.addListener({}); (20行目)
マーカーをクリックすることでHello Worldと出力させています。

addListener(map, ‘drag’, dispLatLng); (25行目)
このように定義すると独自で設定したメソッドが利用できます。
例では地図の中心の緯度経度を隠しフィールドに持たせています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください