Я создал небольшой тестовый проект в здесь: http://jsfiddle.net/jochenhebbrecht/k3a3fvq0/3/Google Maps API v3 не перерисовка направления правильно
I чистые маршруты, используя следующий метод:
// Clean previous routes
if (directionsDisplays.length > 0) {
for(var i = 0; i < directionsDisplays.length; i++) {
directionsDisplays[i].setMap(null);
}
directionsDisplays.length = 0;
}
Обращают маршруты с использованием методы последующей:
// Draw all routes
if (routes.length > 0) {
for (var i = 0; i < routes.length; i++) {
(function(i){
var route = routes[i];
var request = {
origin: route.origin,
destination: route.destination,
travelMode: google.maps.TravelMode.WALKING,
waypoints: route.waypoints
};
var directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: true,
preserveViewport: true,
polylineOptions: {
strokeColor: '#C6D300'
}
});
directionsDisplay.setMap(map);
directionsDisplays.push(directionsDisplay);
directionsService.route(request, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
})(i);
}
}
У меня есть флажок, который показывает некоторые маршруты на карте. Если вы установите флажок, отображаются маршруты. Если вы снимите флажок, маршруты будут удалены.
Однако, если я снова поставлю флажок (второй раз), не все маршруты отображаются правильно. Вы должны проверить/снять несколько раз, чтобы он работал ...
Любая идея, что я делаю неправильно?
Спасибо за совет, это было действительно OVER_QUERY_LIMIT! –