4

緯度/経度の値と距離の値があります。指定された場所を中心としてバウンディングボックスを計算する必要があります。したがって、距離が200メートルの場合、長方形のボックスは前後に200メートル、左右に配置する必要があります。

JavaScriptを使用してこれを行うにはどうすればよいですか?

4

3 に答える 3

3

緯度と経度を操作するための便利な JavaScript 関数を次に示します。

http://www.movable-type.co.uk/scripts/latlong.html

ポイントの周囲の境界ボックスの場合、上記の JavaScript ライブラリを使用した簡単な変更は次のようになります。

LatLon.prototype.boundingBox = function (distance)
{
    return [
        this.destinationPoint(-90, distance)._lon,
        this.destinationPoint(180, distance)._lat,
        this.destinationPoint(90, distance)._lon,
        this.destinationPoint(0, distance)._lat,
    ];
}

(これは、「開始点からの距離と方位を指定した目的地」の計算を使用します。)

于 2010-06-29T21:23:55.447 に答える
3

使用している地図投影法で緯度/経度座標を ax/y 値に変換する必要があります。その後、境界ボックスを計算できます。

私は Google Maps API をよく知りません。また、あなたがボックスで何をしたいのか正確にはわかりません。しかし、おそらくGBoundsGMercatorProjection、およびGLatLngBoundsが役立つ場合があります。また、Google Maps API が使用している地図投影法の計算をサポートしていない場合は、 Proj4jsを使用すると便利です。また、 Map Projectionsについて読みたいと思うかもしれません。Google マップはデフォルトでメルカトル図法を使用しています。

于 2010-06-29T20:09:26.853 に答える
0

V3 APIを使用している場合は、 RectangleCircleを利用できます。このブロガーの簡単な説明と例を参照してください。

http://apitricks.blogspot.com/2010/02/rectangle-and-circle-of-v3.html

于 2010-06-29T20:28:05.743 に答える