离子2& Cordova Map Plugin Marker拖动问题

时间:2016-12-16 09:59:35

标签: ionic-framework ionic2 cordova-plugins

我正在使用cordova地图插件。我添加了标记&添加了MARKER_DRAG_END事件。事件也被解雇但是我承诺我没有获得标记的新标记。能告诉我怎样才能实现这个目标?

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();


                });
              });

          });

1 个答案:

答案 0 :(得分:4)

您必须订阅事件监听器以获取位置数据并且getPOsition()返回promise

 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();
                            });
                        });