Показать сообщение отдельно
  #1 (permalink)  
Старый 19.10.2014, 00:15
Интересующийся
Отправить личное сообщение для mr__brainwash Посмотреть профиль Найти все сообщения от mr__brainwash
 
Регистрация: 23.04.2014
Сообщений: 16

Отмена функции связанной с JS API google.maps
Здравствуйте. Задача связанна с 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? Спасибо большое.
Ответить с цитированием