我正在使用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();
});
});
});
答案 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();
});
});