2017-07-21 24 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上稍微介绍一下。 –

相关问题