Chr*_*rao 4 google-maps google-directions-api
我有一个包含位置列表的数据库,我必须获取数据库中所有位置组合的路线步骤、行驶距离和行驶时间。
我将每个位置的纬度和经度存储在数据库中。
我正在使用 google 路线服务 api 来获取信息。
只要记录数量很少,我就可以使用线程在一分钟内从代码中获取结果。
然而,随着记录数量的增加,组合的记录数量呈指数级增长(相信我,这不是问题,组合数量有可能达到 100K),从而导致请求数量增加路线 api 以及检索所需的时间。
据我所知,由于需要与方向 api 建立大量其余连接,因此网络延迟会增加,并且检索结果所需的时间也会增加。
我用 google 搜索发现,某些地图 api(例如方向服务 api 中的航点)允许您使用管道运算符 ( | ) 指定超过 1 个值。
我尝试执行相同的操作,并为每个休息请求检索一个源多个目的地的信息,但是我收到从路线服务返回的 NOT_FOUND 状态。
有人可以帮我弄清楚如何使用 Directions api 获取来自同一起点但多个目的地的路线以及距离和时间吗?
以下是示例网址和我收到的响应(API_KEY 被故意删除,无法共享): https://maps.googleapis.com/maps/api/directions/json ?key=API_KEY&origin=49.794150,-84.564514&destination= 49.244978,-88.146057|49.173205,-84.756775
{
"geocoded_waypoints" : [
{},
{
"geocoder_status" : "ZERO_RESULTS"
}
],
"routes" : [],
"status" : "NOT_FOUND"
}
Run Code Online (Sandbox Code Playgroud)
Directions API 不支持多个出发地或目的地。您可以指定 1 个出发地、1 个目的地以及最多 23 个航点。
https://developers.google.com/maps/documentation/directions/intro#Waypoints
带有路径点的请求如下所示:
如果您想测试您的路线并查看视觉表示,您可以使用路线计算器:
希望能帮助到你!