查找在给定时间内可以驾车到达的所有积分

时间:2013-03-21 12:38:13

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

我有一个大约3000点(lon,lat)的列表,我需要创建一个应用程序来查找地图上的任何给定位置(lon,lat)此列表中的所有点,可在10分钟内到达。 我可以轻松地计算这个距离以米为单位的任务,例如。圆圈内的所有点,但我需要使用持续时间(以分钟为单位),而不是以米为单位的距离。 我应该使用Google Maps API的哪个部分?

2 个答案:

答案 0 :(得分:3)

您似乎需要使用Google Distance Matrix。但是,由于这些限制,您可能需要在发送请求之前过滤可能位置列表,这很狡猾。

  • 每个查询100个元素。
  • 每10秒100个元素。
  • 每24小时有2,500个元素。

答案 1 :(得分:0)

我会建议类似thisMarcelo的v2示例)。原文已消失,here is a copya version ported to the v3 API

首先绘制一个圆(或不是,但在概念上),其半径大于10分钟的驾驶时间(10英里应该工作)。在该圆圈中找到数据库中的所有点(距离中心点的半径/ 10英里)。

这应该将您的积分缩小到可管理的数字。使用DistanceMatrix进一步优化数字,消除圈内但超过10分钟的数字。

proof of concept - 使用场所搜索位置,将结果削减到半径10英里的位置,然后将这些结果发送到DirectionsMatrix,丢弃任何持续时间超过10分钟的结果。