2013-03-08 121 views
2

我正在使用Google Maps API v3,并试图提供“显示下一个路由”按钮,用户可以在其中循环所有可用路由。Google Maps API v3:routeIndex不工作?

我得到它显示第一个路线,但是当我使用DirectionsRenderer类的routeIndex属性时,它只返回第一个路线。

我做错了什么?代码粘贴在下面。我一直使用的测试路线共有三条路线。如果我将routeIndex属性设置为1,它仍然显示数组中的第一个路由(基本上,routeIndex [0])。

function showDirections() { 
// show contact buttons 
$(".contact-route-button").css({display:"block"}); 

// add 1 to count 
count++; 

// If this function has been run before, clear the directions 
if(count > 1){ 
    // Clear map 
    directionsDisplay.setMap(null); 
    //Clear Route List 
    document.getElementById('directions').innerHTML = ""; 
} 

// Set map to render directions 
directionsDisplay = new google.maps.DirectionsRenderer({ 
    map: map, 
    /*preserveViewport: true,*/ 
    draggable: true, 
    routeIndex: 1 
}); 

// Remove hidden class form text explaning driving directions 
$('#drive-text').fadeIn("fast").removeClass('hidden'); 

// Hide paragraph under directions form 
$(".section.grids-two.maximum-780.clearfix .grid.grid-2").fadeOut("fast"); 

// SlideToggle panel about random fact 
$(".random-fact").slideDown("fast").css({display:"block"}); 

// Set Panel that will display driving directions 
directionsDisplay.setPanel(document.getElementById('directions')); 

// Get address input text 
var address = document.getElementById('dir-address').value; 

// Create request to send to Google starting at the address provided 
var request = { 
    origin: address, 
    destination: '531 E Market Street Indianapolis, IN 46204', 
    travelMode: google.maps.TravelMode.DRIVING, 
    unitSystem: google.maps.UnitSystem.STANDARD, 
    provideRouteAlternatives: true 
}; 


// Send request and display on map and directions box 
directionsService.route(request, function(response, status) { 
    if (status === google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
     totalRoutes = countRoutes(response); 
    } 
}); 
} 

任何想法?我遵循的说明在谷歌地图API文档上,https://developers.google.com/maps/documentation/javascript/reference#DirectionsRendererOptions

在此先感谢!

回答

0

看起来routeIndex仅在directionsRenderer中有属性可用时才起作用。您可以使用:

directionsDisplay.setOptions({directions:response,routeIndex:1}); 

...什么可以同时设置,directionsrouteIndex

+0

我会尝试。 谢谢! – dauble 2013-03-12 13:20:46