2014-12-05 32 views
0

我不确定Maps API是否有以下操作:我在本地数据库中有地点列表。每个人的地址(街道,城市,州等),也可能与纬度/经度(如果需要,我可以检索这些数据)。 我正在寻找一个解决方案,在谷歌地图的网页绘制的情况下,用户输入一个任意的地址,并得到哪个是从我本地数据库最近的地方。使用Google Maps API从本地数据库中搜索最近的地址

我知道我可以得到这个地址'经纬度和一些简单的数学(毕达哥拉斯定理)我可以计算每个距离,但当驾驶需要知道距离时,这是不一样的。

编辑:我发现这个解决方案https://developers.google.com/maps/articles/phpsqlsearch_v3,它看起来不错。是最好的方法吗?

+1

如果你在你的分贝中有你的位置的坐标,那会很好。如果JSON可用(而且应该是),我会避免使用XML。您可以使用[Geometry Library](https://developers.google.com/maps/documentation/javascript/geometry)('computeDistanceBetween')计算距离*,或者使用距离矩阵(如在下面的答案中说明)是否可以保持在使用限制内。 – MrUpsidown 2014-12-05 15:17:45

+0

@MrUpsidown具有coords不是问题,它们将在json中(顺便说一下,后端是使用mongodb的节点应用程序)。我已经写了一些代码来计算距离,它似乎是我的情况的一个很好的解决方案。谢谢! – 2014-12-10 15:00:33

回答

1

上述方法以半径为参数来搜索最近的位置。
而不是你可以简单地得到一些最近的目的地,并通过起源和目的地谷歌方向API来获取JSON或XML数据。
然后您可以从中提取驾驶距离。
请参阅以下链接了解详情:https://developers.google.com/maps/documentation/directions/#JSON

2

您可以使用距离矩阵API:

Distance Matrix API Documentation

可以很容易地检索与一个简单的通话距离:

https://maps.googleapis.com/maps/api/distancematrix/output?parameters 

的响应采用JSON或XML格式,具体取决于您的选择。但是单个查询的元素数量有限制。您可以先用简单的数学运算选择具有恒定半径的用户周围位置,然后在位置数足够小以发送查询时使用距离矩阵。

+0

谢谢,我不知道那个api。 – 2014-12-05 18:02:48

相关问题