我有一个大约3000点(lon,lat)的列表,我需要创建一个应用程序来查找地图上的任何给定位置(lon,lat)此列表中的所有点,可在10分钟内到达。 我可以轻松地计算这个距离以米为单位的任务,例如。圆圈内的所有点,但我需要使用持续时间(以分钟为单位),而不是以米为单位的距离。 我应该使用Google Maps API的哪个部分?
答案 0 :(得分:3)
您似乎需要使用Google Distance Matrix。但是,由于这些限制,您可能需要在发送请求之前过滤可能位置列表,这很狡猾。
答案 1 :(得分:0)
我会建议类似this(Marcelo的v2示例)。原文已消失,here is a copy和a version ported to the v3 API。
首先绘制一个圆(或不是,但在概念上),其半径大于10分钟的驾驶时间(10英里应该工作)。在该圆圈中找到数据库中的所有点(距离中心点的半径/ 10英里)。
这应该将您的积分缩小到可管理的数字。使用DistanceMatrix进一步优化数字,消除圈内但超过10分钟的数字。
proof of concept - 使用场所搜索位置,将结果削减到半径10英里的位置,然后将这些结果发送到DirectionsMatrix,丢弃任何持续时间超过10分钟的结果。