2016-12-16 25 views
0

我正在使用cordova map插件。我添加了標記&,添加了MARKER_DRAG_END事件。事件也被解僱,但承諾我沒有得到標記的新latlng。你可以讓我知道我們如何做到這一點?Ionic 2&Cordova Map Plugin標記拖動問題

this.map.addMarker({ 
      'position': location, 
      'icon': 'green', 
      'title': "Pickup Location", 
      'draggable': true 
      //,'animation': google.maps.Animation.DROP 
      }, function(marker) { 
      alert('addMarker callback started.'); 
      //this.addUpdateMarkerData('pickup',marker,location);     
      //marker.showInfoWindow(); 

       //Drag event of marker 
       marker.addEventListener(GoogleMapsEvent.MARKER_DRAG_END, function(marker) { 
       alert('GoogleMapsEvent MARKER_DRAG_END'); 
       marker.getPosition(function(latLng) { 
        alert('GoogleMapsEvent.MARKER_DRAG_END Lat ~ '+latLng.lat() + ' And Long ~ '+latLng.lng()) 
        //marker.setTitle(latLng.toUrlValue()); 
        //marker.showInfoWindow(); 


       }); 
       }); 

      }); 

回答

4

你要訂閱事件偵聽器來獲得位置數據,併爲getPosition()返回的承諾

marker.addEventListener(GoogleMapsEvent.MARKER_DRAG_END).subscribe(
         data => { 
          marker.getPosition().then((LatLng) => { 
           alert('GoogleMapsEvent.MARKER_DRAG_END Lat ~ '+latLng.lat() + ' And Long ~ '+latLng.lng()) 
        //marker.setTitle(latLng.toUrlValue()); 
        //marker.showInfoWindow(); 
          }); 
         }); 
+0

非常感謝AishApp。我從最近2天開始努力實現這一目標。你的代碼工作像魅力....再次感謝。 – Optimus

+0

很高興幫助:) – AishApp