使用Google Maps API查找最近点

时间:2014-05-14 02:07:49

标签: google-maps google-maps-api-3 routing maps google-maps-markers

我在地图上有许多目标点和源位置。我需要找到最靠近源位置的目标点。这里的诀窍是"最接近"意味着最短的路线。我无法使用简单的乌鸦飞行距离。

这实际上是一对多的路由问题。我可以通过为每对点运行路由API调用来获得答案,但这样做太慢并且会破坏API的使用。

  1. 有没有办法通过使用Google Maps API的单个请求来执行此操作(如果需要,我可以为此付费)?
  2. 如果是,那么点数,请求频率等的限制是什么?
  3. 如果不是,是否有其他服务可以做到这一点?
  4. 说我有很多积分(数千)。有没有办法以某种方式上传它们,只在我的请求中使用源位置?

1 个答案:

答案 0 :(得分:2)

你应该看看Distance Matrix Service

您可以指定起点和终点(甚至是中间航路点),然后通过路线获得以公里/英里为单位的距离。


回答你的问题:

有没有办法通过使用Google Maps API的单个请求来执行此操作(如果需要,我可以为此付费)
是的,你可以,只需使用下面给出的服务

如果是,那么点数,请求频率等的限制是什么?
引用使用限制和要求

  

距离矩阵服务具有以下使用限制:
      

            
  • 每次请求最多25个来源或25个目的地;和
  •         
  • 每个请求最多100个元素(起始时间目的地)。
  •       
  请求也是有限的。如果在特定时间段内请求的元素太多,将返回OVER_QUERY_LIMIT响应代码。


说我有很多积分(数千)。有没有办法以某种方式上传它们,只在我的请求中使用源位置?
我不确定你真正想要什么,但你可以定义一个点作为"源位置",然后加载它(从SQL,KML等...),然后加载目标并调用服务找到哪一个最接近。