Я пытаюсь показать/скрыть несколько направлений, используя флажок, но не могу скрыть или очистить маршруты, когда они установлены. Я попробовал несколько вещей, которые я нашел в сети, но без каких-либо успехов.clear direction on google map
checbox==false
Внутри я попытался
directionsRenderer.setMap(null);
directionsRenderer.setMap(null); directionsRenderer=null; directionsRenderer.setMap(map);
повтор вся функция с
directionsRenderer.setMap(null);
directionsDisplay.setMap(map);
и многие другие варианты. ...любая помощь?
код:
var directionsService = new google.maps.DirectionsService;
function getvoznje() {
if (document.getElementById('voznje').checked==true)
{
function renderDirections(result) {
var directionsRenderer = new google.maps.DirectionsRenderer;
directionsRenderer.setOptions({
preserveViewport: true,
draggable: true,
polylineOptions: {
strokeColor: "#00" + (Math.round(Math.random() * 0XFFFF)).toString(16)
}
});
directionsRenderer.setMap(map);
directionsRenderer.setDirections(result);
}
function requestDirections(start1, end1, start2, end2) {
directionsService.route({
origin: new google.maps.LatLng(start1,end1),
destination: new google.maps.LatLng(start2,end2),
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result) {
renderDirections(result);
});
}
for (var i = 0; i <put.length-3; i+=4){
requestDirections(put[i], put[i+1], put[i+2], put[i+3]);
}
}
if (document.getElementById('voznje').checked==false)
{
directionsRenderer.setMap(null);
}
}
К сожалению, это не решение. Если мы переместим «var routesRenderer = new google.maps.DirectionsRenderer;» из функции «renderDirections» мы не можем отображать больше одного направления на карте, но мы можем показать/очистить это направление. Есть ли способ прояснить направления в противоположной ситуации? –
Если я поставлю «var directionRenderer;» перед «renderDirections (result)» (т. е. сделать его более глобальным) только последнее направление очищается с помощью «directionRenderer.setMap (null)»; –
Мне интересно, как я могу поместить это вне функции initMap()? Я пытаюсь сделать то же самое, но как только я помещаю var routesService = new google.maps.DirectionsService вне функции initMap(), у меня есть ошибка, говорящая: «Google не определен» – Tenz