地図中央の座標と地図の倍率を表示します。
地図を動かすと下部の「緯度・経度・倍率」の数値が変化します。
地図が移動した場合に発生する「bounds_changed」イベントで、センター座標と表示倍率をgetCenter()とgetZoom()で取得、あらかじめHTML側に用意したidにを出力する。
デモではspanに出力する方法とinputに出力する方法の両方を書いてある。不要な表示を消したい場合、HTMLタグ側だけ消すとエラーとなるのでJavascript側も一緒に消すか、cssの「visibility:hidden;」か「display:none;」で非表示にする事。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Google Maps API v3 - 緯度・経度・倍率を表示</title> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <style> #mapdiv { height:400px; width:100%} </style> </head> <body> <div id="mapdiv"></div> <ul> <li>緯度<input type="text" id="lat_input" /> <span id="lat_span"></span></li> <li>経度<input type="text" id="lng_input" /> <span id="lng_span"></span></li> <li>倍率<input type="text" id="zoom_input" /> <span id="zoom_span"></span></li> </ul> <script type="text/javascript"> var gmap; function initMap() { gmap = new google.maps.Map(document.getElementById('mapdiv'), { center: {lat: 34.649394, lng: 135.001478}, zoom: 17 }); //ターゲットスコープ処理 var tgt_image = { url: 'gmap_cross.gif', size: new google.maps.Size(32, 32), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(16, 16) }; var tgt_marker = new google.maps.Marker({ position: {lat: 34.649394, lng: 135.001478}, map: gmap, icon: tgt_image, clickable: false, /* クリック不可 */ zIndex: 0 }); tgt_marker.setMap(gmap); //地図の表示内容が変更されたら google.maps.event.addListener( gmap ,'bounds_changed',function(){ //緯度と経度を取得 var pos = gmap.getCenter(); var latlng = new google.maps.LatLng( pos.lat(), pos.lng() ); var lat = latlng.lat(); var lng = latlng.lng(); //spanに出力 document.getElementById('lat_span').innerHTML = lat; document.getElementById('lng_span').innerHTML = lng; //inputに出力 document.getElementById('lat_input').value = lat; document.getElementById('lng_input').value = lng; //現在の表示倍率を取得 var zoom=gmap.getZoom(); //spanに出力 document.getElementById('zoom_span').innerHTML = zoom; //inputに出力 document.getElementById('zoom_input').value = zoom; //ターゲットスコープ移動 tgt_marker.setPosition(pos); }); } </script> <script async defer src="https://maps.googleapis.com/maps/api/js?key=【あなたのAPIキー】&callback=initMap"> </script> </body> </html>