Вход

Просмотр полной версии : Отмена функции связанной с JS API google.maps


mr__brainwash
19.10.2014, 00:15
Здравствуйте. Задача связанна с JS API google maps. После заполнений двух полей с адресами, вызывается функция, которая прокладывает маршрут между этими двумя точками. Так же, после заполнения этих двух полей появляется кнопка "Удалить маршрут". Нужно, чтобы при нажатии на эту кнопку, отменялось действие функции, которая проложила маршрут. Чтобы этот маршрут пропал. Код функции, которая прокладывает маршрут:


var route = function(){
if((route_from === null) || (route_to === null)) return;
if(from_marker !== null) {
from_marker.setMap(null);
}
if(to_marker !== null) {
to_marker.setMap(null);
}
var request = {
origin: route_from,
destination: route_to,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
unitSystem : google.maps.DirectionsUnitSystem.METRIC,
region: 'de'
}

directionsService.route(request, function(response, status) {
// console.log('Route done', response, status);
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});

};


Вот здесь, эта функция вызывается для прокладки маршрута:


var delRoutBtn = document.getElementById('delRout');
google.maps.event.addListener(autocomplete_to, 'place_changed', function() {
var place = autocomplete_to.getPlace();
if (!place.geometry) return;

route_to = place.geometry.location;
if (place.geometry.viewport) {
scope.map.fitBounds(place.geometry.viewport);

} else {
scope.map.setCenter(place.geometry.location);
scope.map.setZoom(17); // Why 17? Because it looks good.
delRoutBtn.style.display = 'block';
}
route();
delRoutBtn.onclick = function () {
alert('ky=ky');
};
});


Нужно чтобы вместо "ку=ку" при нажатии, пропадал маршрут(отменялось действие функции route ()). Как это сделать без ajax? Спасибо большое.

mr__brainwash
20.10.2014, 01:44
Я неправильно оформил вопрос или почему никто не отвечает?

jsnb
20.10.2014, 06:57
Может потому что, во-первых, были выходные, а во-вторых мало кто наизусть знает google maps API чтобы сходу дать ответ на такой вопрос. Ну а в-третьих, почему не воспользоваться гуглом:
http://lmgtfy.com/?q=google+maps+api+remove+route

mr__brainwash
20.10.2014, 13:50
Спасибо, я не правильно формулировал вопрос когда искал. Помогло вот это:
directionsDisplay.setDirections({routes: []});