【发布时间】:2013-03-21 12:38:12
【问题描述】:
我有一个大约 3000 个点(经度、纬度)的列表,我需要创建一个应用程序来查找地图上任何给定位置(经度、纬度)的所有点,这些点可以在 10 分钟车程内到达. 我可以轻松地以米为单位计算此任务的距离,例如。一个圆圈内的所有点,但我需要使用以分钟为单位的持续时间,而不是以米为单位的距离。 我应该使用 Google Maps API 的哪一部分?
【问题讨论】:
标签: google-maps google-maps-api-3
我有一个大约 3000 个点(经度、纬度)的列表,我需要创建一个应用程序来查找地图上任何给定位置(经度、纬度)的所有点,这些点可以在 10 分钟车程内到达. 我可以轻松地以米为单位计算此任务的距离,例如。一个圆圈内的所有点,但我需要使用以分钟为单位的持续时间,而不是以米为单位的距离。 我应该使用 Google Maps API 的哪一部分?
【问题讨论】:
标签: google-maps google-maps-api-3
您似乎需要使用Google Distance Matrix。但是,由于限制,您可能需要在发送请求之前巧妙地过滤可能的位置列表。
【讨论】:
我会建议类似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 分钟的结果。
【讨论】: