Google Maps 面積計算 V3
取り扱い方
Google Maps V3 面積計算 コード
初期画面
①:多角形・円・矩形のモード選択
②:編集用マーカー表示/実線表示、ドラッグ可/不可
③:面積をイメージしやすいように比較(数字が大きすぎると逆にわけ分からんようになりますが)
地図上をクリックしてエリアを設定します。
多角形の場合
地図上でクリックして多角形のエリアを描画。
丸いマーカーをドラッグすれば変形できます。
面積は都度、計算されます。
円の場合
地図上でクリックすると
半径の線が描画されます。
マウスを動かせば半径がm単位で表示されます。
再度クリックすると円が描かれ面積が計算されます。
矩形の場合
地図上でクリックすると
対角線が描画されます。
マウスを動かせば矩形の幅と高さがm単位で表示されます。
再度クリックすると矩形が描かれ面積が計算されます。
GoogleMaps V3の 面積計算 コード
V3の面積計算には、ジオメトリ・ライブラリを使います。
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"></script>
ライブラリの面積計算用の関数:computeArea
多角形の面積計算
各ポイントの座標の配列:coordinatesArray
var area = google.maps.geometry.spherical.computeArea(coordinatesArray);
矩形の面積計算
rectpolygonsという矩形のオブジェクトだとして
var bounds = rectpolygons.getBounds();
var ne = bounds.getNorthEast();
var sw = bounds.getSouthWest();
var rectArray = [];
var nw = new google.maps.LatLng(ne.lat(),sw.lng());
var se = new google.maps.LatLng(sw.lat(),ne.lng());
rectArray.push(sw);
rectArray.push(nw);
rectArray.push(ne);
rectArray.push(se);
rectArray.push(sw);//閉じる
var area = google.maps.geometry.spherical.computeArea(rectArray);