2011-07-07 14 views
0

google.maps.Circleによって作成されたサークルオーバーレイ内の状態を判別する方法はありますか?おそらく、逆ジオコーディングとgetBoundsを使用するか、または含まれていますか? Googleはこれを行う方法を提供していますか(ジオコーダなどの方法を使用)、またはLatitudeとLongitudeの州のデータベースを使用する必要がありますか?Googleマップv3サークルオーバーレイの境界内の状態を確認します

答えて

1

Google Maps APIでこれを行うのは簡単な方法ではないようです。

getBounds()を使用すると、円に近似するLatLngBoundsオブジェクトを取得できます。 getBounds()は円に近似する四角形を返しますので、結果が不正確になることがあります。より正確に行うには、Haversineの式をcirlceの中心と半径と組み合わせて使用​​して、円を近似するためのポイントを計算する必要があります。より多くのポイントを計算するほど、近似がより正確になります。

バウンディングポイントが設定されていれば、それでもまだ森の外にいるわけではありません。 GoogleのGeocoder APIを使用してLatLngBoundsのすべての州を返す方法はありません。だから、範囲内のより多くのポイントを計算し、それに対して個々の逆ジオコード要求を送信する必要があります。そして、あなたはまだ1つまたは2つの国が欠けているかもしれません。全体的に、ヤク。

私にとってはそれほど魅力的ではないが、誰が知っているのか:各状態について、一揃いの矩形境界の緯度/経度データを取得する。状態。各状態について、円と交差するかどうかを確認するにはintersects()を使用してください。

ユースケースに応じて、Google Maps APIやその他の技術に関連する可能性があります。

関連する問題