2

据此 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 log给出的值是0!。这意味着第一条路线。我已经启用了替代路线,provideRouteAlternatives:true,我也启动了这样的对象:

var rendererOptions = {
     routeIndex:1 
    }
directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);

但它仍然显示路线编号。0,不是数字 1。这是我的网页,请检查来源。提前致谢。

4

1 回答 1

1

我认为你误解了一些东西。你说:

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

...这也没关系,因为您正在重置它:directionsDisplay.setDirections(response);

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

于 2012-08-30T09:43:30.320 回答