如何使用google map api在半径范围内进行客户Lat-Long地点搜索?

时间:2014-08-14 08:34:14

标签: javascript google-maps google-app-engine

我有一套先前获得的纬度和度数。经度使用GIS应用程序的各种场所。 我要做的是......我想在地图上显示这些获得的lat-long作为从当前位置到某个半径的标记。

如果我当前的位置是-33.8665433,151.1956316和半径1000,那么我想将所有获得的lat-long显示为落在此范围内的标记。

这:https://google-developers.appspot.com/maps/documentation/javascript/examples/place-search有助于特定的定义地点类型。我没有预定义的类型。

如何解决这个问题?

先谢谢。

1 个答案:

答案 0 :(得分:0)

AppEngine上的地理查询问题是数据存储limits inequality queries to at most one property。即你不能在lat和lon上执行不等式查询,这基本上限制了地理邻近度查询。

解决方案是geo-hash您的数据:将地图分解为离散网格,并为每个象限提供一个ID。然后还使用适当的象限ID标记所有地点。

geo-hash on AppEngine的一个例子。还有一个Java库,可以在AppEngine上执行地理哈希:https://code.google.com/p/javageomodel/