2

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

4

2 回答 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 回答