根据this,directionRenderer对象的方法 setRouteIndex()应设置DirectionsResult对象中路由的(从零开始)索引以进行渲染。
这就是我所做的:
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setRouteIndex(1);
console.log(directionsDisplay.getRouteIndex());
directionsDisplay.setDirections(response);
console.log(directionsDisplay.getRouteIndex());
} });
我知道我正在进行的查询有 3 替代路由。在这里,首先console.log(directionsDisplay.getRouteIndex());
给出路线号。 1 ,没关系,但在setDirections
执行后,secong日志的值为0!这意味着第一条路线。我启用了替代路线 provideRouteAlternatives:true ,我也启动了这样的对象:
var rendererOptions = {
routeIndex:1
}
directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
但它仍显示路线没有。 0,不是数字1.这是我的webpage,请检查来源。提前谢谢。
答案 0 :(得分:1)
我认为你误解了一些事情。你说:
console.log(directionsDisplay.getRouteIndex());
给出路线号码。 1, 没关系,但是在setDirections的执行之后,secong日志 给出值0!。
...那也可以,因为你正在重置它:directionsDisplay.setDirections(response);
但您不需要此行,因为响应已加载到DirectionsRenderer对象中。