setRouteIndex无法在谷歌地图方向JS api v3中工作

时间:2012-08-30 08:51:01

标签: google-maps google-maps-api-3 map-directions google-direction

根据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,请检查来源。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为你误解了一些事情。你说:

  

console.log(directionsDisplay.getRouteIndex());给出路线号码。 1,   没关系,但是在setDirections的执行之后,secong日志   给出值0!。

...那也可以,因为你正在重置它:directionsDisplay.setDirections(response);

但您不需要此行,因为响应已加载到DirectionsRenderer对象中。