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);