Google Map に 四角い線を描きたいと思いました。
・ブラウザで、GMapを開くと、URLに中心座標(35.68269759362687, 139.76947098539154)が表示されているので、取得しておく。
&ll=35.68269759362687%2C139.76947098539154&z=15
・GMap 上で、シェイプを描く。
・地図のデータを、kml ファイルで、エクスポートする。
・kml ファイル の中の座標を取得
<coordinates> 139.7646859,35.6874218,0 139.7608235,35.6768248,0 139.7685054,35.6737569,0 139.7741273,35.6842149,0 139.7646859,35.6874218,0 </coordinates>
・Google Cloud Platform で、Google Map を有効にして、APIキーを取得する。
・index.html を作り、中心座標と、四角の座標をセットする。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>地図に四角を描くサンプル</title> <!-- 動作処理 --> <script> // 現在地取得処理 function initMap() { // Geolocation APIに対応している if (navigator.geolocation) { // 現在地を取得 navigator.geolocation.getCurrentPosition( // 取得成功した場合 function(position) { // 緯度・経度を変数に格納 var mapLatLng = new google.maps.LatLng(35.68269759362687, 139.76947098539154); // マップオプションを変数に格納 var mapOptions = { zoom : 15, // 拡大倍率 center : mapLatLng // 緯度・経度 }; // マップオブジェクト作成 var map = new google.maps.Map( document.getElementById("map"), // マップを表示する要素 mapOptions // マップオプション ); // マップにマーカーを表示する var marker = new google.maps.Marker({ map : map, // 対象の地図オブジェクト position : mapLatLng // 緯度・経度 }); var pline = new google.maps.Polyline({ map:map, path:[ {lat:35.6874218, lng:139.7646859}, {lat:35.6768248, lng:139.7608235}, {lat:35.6737569, lng:139.7685054}, {lat:35.6842149, lng:139.7741273}, {lat:35.6874218, lng:139.7646859} ], strokeColor: "rgb(136, 14, 79)", //線色(def:#000000) strokeOpacity: 1, //透明度0~1(def:1) strokeWeight: 5, //px指定(def:1) zIndex: 1 //重なり順 }); }, // 取得失敗した場合 function(error) { // エラーメッセージを表示 switch(error.code) { case 1: // PERMISSION_DENIED alert("位置情報の利用が許可されていません"); break; case 2: // POSITION_UNAVAILABLE alert("現在位置が取得できませんでした"); break; case 3: // TIMEOUT alert("タイムアウトになりました"); break; default: alert("その他のエラー(エラーコード:"+error.code+")"); break; } } ); // Geolocation APIに対応していない } else { alert("この端末では位置情報が取得できません"); } } </script> </head> <body> <div id="map" style="width:800px; height:600px"></div> <script src="https://maps.googleapis.com/maps/api/js?key=【Google API キー】&v=3&callback=initMap"></script> </body> </html>
すると、地図上に四角い線が描けます。