Я использую Google Maps API v3, и я реализовал направления, отображаемые на основе функции перетаскивания маркера.Но если перетащить маркер снова, исходный набор направлений не будет удален.
Карта создается на основе запроса геокодирования и текстового поля автозаполнения для источника, а пункт назначения является статическим.Это все отлично работает.Я прочитал документацию по API, и там написано .setMap (null);вариант, но это не очистка направления, и я считаю, что это потому, что я не восстанавливаю карту.Мой код для рендеринга указаний приведен ниже:
google.maps.event.addListener(markersrc, 'dragend', function () {
geocoder.geocode({ 'latLng': markersrc.getPosition() }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var request = {
origin: markersrc.getPosition(),
destination: markerdst.getPosition(),
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
var directionsDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
directionsDisplay.suppressMarkers = true;
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directions_panel"));
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
});
});
Кто-нибудь знает, как можно очистить исходные указания?