2017-07-21 26 views
-2

我想將世界地圖劃分爲區域。如何使用Google地圖創建具有位置檢測功能的銷售區域地圖?

我的地區的數據是國家名稱,州名,縣和郵政編碼的形式。

我打算使用Google地圖API,除非有更好的工具。

  1. 如何定義這些區域?我是否使用覆蓋?我可以將不同的地理位置數據合併爲疊加層嗎?

  2. 一旦我定義了這些區域,我該如何確定一個位置並檢查它在哪個區域?

到目前爲止,我只收集了定義區域的數據,並在線研究了「銷售區域地圖」和自定義地圖。

回答

1

GoogleMaps本身是一個片段。你可以在地圖片段中疊加Shapes。

我對如何定義領土給出了一些想法。

1)使用Bbox(邊界框) - 這是一個立方體。您定義此多維數據集的元中心。您提供對角線長度。您創建一個函數來創建Bbox多維數據集。每次將您的觀點與Bbox的元中心(X,Y,Z)進行比較時。如果你的點大於所有最低的X1,Y1,Z1,並且小於所有最高的X2,Y2,Z2,那麼你就在這個領域內。這裏,(X1,Y1,Z1)是您領土Bbox最低角落的地理座標,(X1,Y1,Z1)是您領土最高角落的地理座標bobox

USGS使用這個概念來定義領土。這裏是鏈接:

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

enter image description here

2)既然你已經說了,你的領地是基於國家,城市名稱。 BBOX在您的場景中似乎不起作用。所以,你必須定義你自己的自定義領域。您可以使用反向地理編碼器API獲取一組地理座標。然後,使用這些地理座標組,使用多邊形繪製一個形狀。下面給你如何繪製自定義形狀(自定義領域)。

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

後您繪製自定義區域(境),你現在仍然要檢查一個標記(的位置)如何屬於該地區或不? Ans:找出兩個在兩個地理座標之間繪製直線的點。例如,如果使用10個地理座標繪製一個形狀,則可以有一對地理座標{(座標1,座標6),(座標2,座標7),(座標3,座標8),(座標4,座標9),(座標5,座標10)。現在,你把這些座標放在一個ArrayList中。要知道,如果你的觀點在這個領域內,你必須迭代地比較你的觀點是否在你ArrayList中的這對座標中。爲了獲得更高的準確性,您必須使用許多地理座標來繪製您的地區。這是方式。

+0

感謝您的回答。區域邊界與地理邊界對齊至關重要:州,縣和國家邊界。如果我自己畫他們,就會出現錯誤,需要很長時間才能將世界劃分爲多個區域。 – Webster

+0

@Webster,讓我在Google Maps API上稍微介紹一下。 –

相關問題