gpt4 book ai didi

javascript - Google Directions API 返回不同的 waypoint_order 和路段

转载 作者:可可西里 更新时间:2023-11-01 01:51:41 26 4
gpt4 key购买 nike

我正在开发一个使用 Google Maps API 跟踪路线的系统。我有起点和终点,在这些点之间有一些航路点。通过追踪路线,谷歌返回最佳路线并在 map 上标记这些点。我们在一个 div 中显示路线数据。我计算路线的函数,返回数据的部分如下所示:

directionsService.route(request, $.proxy(function(response, status){
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var orders = response.routes[0].waypoint_order;
var route = response.routes[0];
var total_distance = 0;
var displayRoute = $('#detail-route');


for (i = 0; i < route.legs.length; i++){

var routeSegment = i + 1,
from_address = route.legs[i].start_address.split(','),
to_address = route.legs[i].end_address.split(',');
total_distance += Math.floor(route.legs[i].distance.value / 1000);

displayRoute.append('<b>Trecho ' + routeSegment + ': </b><br/>');
displayRoute.append('<b>Saindo de: </b>' + from_address[0] + '<br/>');
displayRoute.append('<b>Indo para: </b>' + to_address[0] + '<br/>');
displayRoute.append('<b>Distância: </b>' + route.legs[i].distance.text);
}

displayRoute.prepend('total:' + this.format(total_distance) + ' km' + '<br/><br/>');

function format() 是我的格式 km.. 的函数

问题是,在某些路线上,waypoint_order 显示的顺序与 legs 中的顺序不同。例如:

对于给定的路线,route.legs[i] 返回顺序:'waypoint 0, waypoint 1, waypoint 3, waypoint 2',但是 waypoint_order 属性返回 [3, 0, 2, 1, 3]

这是预期的行为,还是我遗漏了什么?

最佳答案

是预期的行为,因为:

如果 optimizeWaypoints 设置为 true,该字段将包含输入航点的重新排序排列。例如,如果输入是: 起源地:洛杉矶
航点:达拉斯、类戈、凤凰城 目的地:纽约优化后的输出顺序如下: 起源地:洛杉矶 航点:凤凰城、达拉斯、类戈 目的地:纽约那么这个字段将是一个包含值 [2, 0, 1] 的数组。请注意,航路点的编号是从零开始的。如果任何输入航点的中途停留点设置为 false,则此字段将为空,因为路线优化不适用于此类查询。

如此处所述:DirectionsResult

waypoint_order 是优化后的顺序

关于javascript - Google Directions API 返回不同的 waypoint_order 和路段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com