【问题标题】:Ionic 2 & Cordova Map Plugin Marker drag issueIonic 2 & Cordova Map Plugin Marker 拖拽问题
【发布时间】:2016-12-16 21:32:39
【问题描述】:

我正在使用科尔多瓦地图插件。我添加了标记并添加了 MARKER_DRAG_END 事件。事件也会被解雇,但我保证我没有得到标记的新 latlng。您能告诉我如何实现这一目标吗?

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


                });
              });

          });

【问题讨论】:

    标签: ionic-framework ionic2 cordova-plugins


    【解决方案1】:

    您必须订阅事件监听器才能获取位置数据并且 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();
                                });
                            });
    

    【讨论】:

    • 非常感谢 AishApp。我从过去 2 天开始一​​直在努力实现这一目标。你的代码就像魅力一样工作......再次感谢。
    • 很高兴为您提供帮助:)
    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    相关资源
    最近更新 更多