我有一个大约 3000 个点(经度、纬度)的列表,我需要创建一个应用程序来查找地图上任何给定位置(经度、纬度)的所有点,这些点可以在 10 分钟车程内到达。我可以轻松地以米为单位计算此任务的距离,例如。圆圈内的所有点,但我需要使用以分钟为单位的持续时间,而不是以米为单位的距离。我应该使用 Google Maps API 的哪个部分?
问问题
2464 次
2 回答
3
看起来您需要使用Google Distance Matrix。但是,由于限制,您可能需要在发送请求之前巧妙地过滤可能的位置列表。
- 每个查询 100 个元素。
- 每 10 秒 100 个元素。
- 每 24 小时周期 2,500 个元素。
于 2013-03-21T12:49:51.313 回答
0
我会建议这样的事情(Marcelo的 v2 示例)。原件没有了,这里是一个副本,以及一个移植到 v3 API 的版本。
首先画一个半径大于 10 分钟行驶时间(10 英里应该可以)的圆(或不画,但在概念上)。在该圆中查找数据库中的所有点(距离中心点小于半径/10 英里)。
这应该将您的分数缩小到一个可管理的数字。使用距离矩阵进一步细化数字,消除那些在圆圈内但大于 10 分钟路程的数字。
概念证明 - 使用地点搜索位置,将结果缩减为 10 英里半径内的结果,然后将这些结果发送到 DirectionsMatrix,丢弃任何持续时间超过 10 分钟的结果。
于 2013-03-21T20:19:30.940 回答