我在 map 上有许多目标点和一个源位置。我需要找到最接近源位置的目标点。这里的诀窍是“最近”意味着最短路线。我不能使用简单的乌鸦飞行距离。
这本质上是一个一对多的路由问题。我可以通过为每对点运行路由 API 调用来获得答案,但这会太慢并且会破坏 API 的使用。
- 有没有一种方法可以使用 Google Maps API 通过单个请求来完成(如有必要,我可以付费)?
- 如果是,那么点数、请求频率等有什么限制?
- 如果没有,是否有其他服务可以做到这一点?
- 假设我有很多积分(数千)。有没有办法以某种方式上传它们并仅在我的请求中使用源位置?
最佳答案
您可以指定起点和终点(甚至是中间航路点),然后按路线获取以公里/英里为单位的距离。
回答您的问题:
有没有一种方法可以使用 Google Maps API 通过单个请求完成此操作(如有必要,我可以付费)
是的,您可以,只需使用下面提供的服务
如果是,那么点数、请求频率等有什么限制?
引用使用限制和要求:
The following usage limits are in place for the Distance Matrix service:
Requests are also rate limited. If too many elements are requested within a certain time period, an OVER_QUERY_LIMIT response code will be returned.
- Maximum of 25 origins or 25 destinations per request; and
- At most 100 elements (origins times destinations) per request.
假设我有很多积分(数千)。有没有办法以某种方式上传它们并仅在我的请求中使用源位置?
我不确定你真正想要什么,但你可以将一个点定义为“源位置”,然后加载它(从 SQL、KML 等...),然后加载目标并调用服务来查找哪个是最近。
关于google-maps - 使用 Google Maps API 查找最近点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23644522/