【问题标题】:Find closest point using Google Maps API使用 Google Maps API 查找最近点
【发布时间】:2014-07-01 21:51:10
【问题描述】:

我在地图上有多个目标点和一个源位置。我需要找到离源位置最近的目标点。这里的诀窍是“最近”意味着最短的路线。我不能使用简单的乌鸦飞行距离。

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

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

【问题讨论】:

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


    【解决方案1】:

    你应该看看Distance Matrix Service

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


    回答您的问题:

    有没有办法通过使用 Google Maps API 的单个请求来完成(如果需要,我可以付费)
    是的,您可以,只需使用下面提供的服务

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

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

    • 每个请求最多 25 个起点或 25 个目的地;和
    • 每个请求最多 100 个元素(起点乘以终点)。
    请求也受到速率限制。如果在某个时间段内请求的元素过多,则会返回 OVER_QUERY_LIMIT 响应码。


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

    【讨论】:

    • 感谢您的回答。不幸的是,限制太苛刻了。我有1000点。第一个问题是它超出了限制。另一个问题是我不想每次都通过大约 1000 点的请求。我想将它上传到谷歌系统并通过 id 或其他东西引用整个点组。存储空间需要由 Google 管理和使用。
    猜你喜欢
    • 2015-12-07
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2011-05-02
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多