2017-07-21 7 views
-2

私は世界地図を地域に分割したいと思います。Googleマップを使用して位置情報を検出して販売地域マップを作成するにはどうすればよいですか?

私のエリアデータは、国名、州名、郡および郵便番号の形式です。

優れたツールがない限り、Google Maps APIを使用する予定です。

  1. どのようにこれらの領域を定義しますか?オーバーレイを使用しますか?異種のジオデータをオーバーレイに結合できますか?

  2. これらの領域が定義されたら、どのように場所を取得し、それがどの地域にあるかを確認するにはどうすればよいですか?

これまでのところ、私は地域を定義するデータを収集し、オンラインで「セールスエリアマップ」とカスタムマップを調べました。

答えて

1

Googleマップ自体は断片です。マップフラグメント内にシェイプオーバーレイを配置することができます。

地域をどのように定義できるかについていくつか考えています。

1)Bbox(境界ボックス)の使用 - これは立方体です。このキューブのメタセンターを定義します。対角長を指定します。 Bboxキューブを作成する関数を作成します。あなたのポイントをそのBboxのメタセンター(X、Y、Z)と比較するたびに。あなたのポイントがすべての最低のX1、Y1、Z1より大きく、すべての最高のX2、Y2、Z2より小さい場合、あなたはその領域内にいます。ここで、(X1、Y1、Z1)は、あなたの領土Bboxの最下部のGeo座標であり、(X1、Y1、Z1)は、あなたの地域の最も高い隅のGeo座標です。bobox

USGSでは、この概念を使用して地域を定義しています。すでに述べたので

https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php 

enter image description here

2)、あなたの領土を国、都市名に基づいています。ここにリンクがあります。あなたのシナリオでは、BBOXはここでは動作しません。したがって、独自のカスタム領域を定義する必要があります。逆ジオコーダーAPIを使用して、幾つかの地理座標を取得することができます。次に、Geo座標のセットを使用して、多角形を使用して図形を描画します。以下はカスタムシェイプ(カスタム領域)を描画する方法を示しています。

https://developers.google.com/maps/documentation/javascript/shapes#polylines 

カスタムエリア(領土)を描画した後、あなたは今、マーカー(場所)がその領土に属しているかいないかチェックするために残りましたか? Ans:2つの地理座標の間に直線を描く2つの各点を見つけます。たとえば、10の地理座標を使用して図形を描画する場合、地理座標{(座標1、座標6)、(座標2、座標7)、(座標3、座標8)、座標4、座標9)、(座標5、座標10)。ここで、これらの座標のペアをArrayListに配置します。あなたのポイントがその領土内にあるかどうかを知るには、あなたのポイントがArrayList内のその座標のペアの中にあるかどうかを繰り返し比較しなければなりません。正確性を高めるには、地域を描画するために多くの地理座標を使用する必要があります。これが方法です。

+0

あなたの答えをありがとう。領土の境界線は、州、郡、国の境界である地理的境界線と揃っていることが重要です。私が自分で描くと間違いがあり、世界を手で多くの地域に分けるには非常に時間がかかるでしょう。 – Webster

+0

@Webster、Google Maps APIを少し紹介しましょう。 –

関連する問題