2015-09-11 2 views
0

Я разрабатываю один с IonicFramework-анкету с phonegap-googlemaps-plugin, что, когда пользователь нажимает на маркер информационного окна, он вызывает функцию подтверждения, а затем вызывает launchNavigation если истинную.

Моя проблема в том, если я использовать нативную функцию подтверждения он прекрасно работает, но когда я пытаюсь использовать $ionicPopup.confirm({}) я не могу нажать на кнопки подтверждения, в. Похоже, я продолжаю нажимать на карту.

Я уже пытался изменить свойство z-index класса 'popup-containse', но, похоже, не работает так, как я ожидал.

data.map(function (m) { 

     var latLng = new plugin.google.maps.LatLng(m.lat, m.lng) 
     latLngs.push(latLng); 

     map.addMarker({ 
      position: latLng, 
      title: m.placa, 
      snippet: 'Clique para ir nessa localização.', 
      styles : { 
       'text-align': 'center', 
       'font-weight': 'bold' 
      } 
     }, function (marker) { 

      marker.addEventListener(plugin.google.maps.event.INFO_CLICK, function(marker) { 

       var confirm = $ionicPopup.confirm({ 
        title: m.placa, 
        template: 'Abrir navegação para essa localização?', 
        okText: 'Sim', 
        cancelText: 'Não' 
       }) 

       document.getElementsByClassName('popup-container')[0].style.zIndez = 999999; 

       confirm.then(function (response) { 
        if (response) { 
         map.getMyLocation(function (location) { 
          mobileLocation = location.latLng; 

          marker.getPosition(function(markerLocation) { 

           plugin.google.maps.external.launchNavigation({ 
            'from': mobileLocation, 
            'to': markerLocation 
           }); 

          }) 
         }) 
        } 
       }) 

       $timeout(function() { 
        confirm.close(); 
       }, 3000); 

       /* 
       if (confirm("Abrir direção para " + m.placa)) { 
        map.getMyLocation(function(location) { 
         mobileLocation = location.latLng; 

         marker.getPosition(function (markerLocation) { 

          plugin.google.maps.external.launchNavigation({ 
           "from": mobileLocation, 
           "to": markerLocation 
          }); 

         }); 

        }); 
       } 
       */ 
      }); 
     }); 
    }); 

enter image description here

Благодаря

+0

попробуйте '$ scope.confirm' вместо' var confirm'. –

+0

@mudasserajaz не работает. Таким образом, здесь даже не работает таймаут. idk почему. – SillasSoares

ответ

-1

Простой в том, что вы просто установить

map.setClickable(false) когда шоу $ionicPopup затем после map.setClickable(true).

Работает идеально.

Смежные вопросы