我正在使用google-map-marker(在dom-repeat中)与事件:on-google-map-marker-dragend。
我试图在拖动完成后获取标记的当前位置,但我只获得标记的位置,在当前拖动之前它在拖动上移动。
for loop
方法:
<google-map zoom="15" id="map" style="height: 20em" api-key="[[apiKey]]" fit-to-markers>
<template is="dom-repeat" items="[[markers]]" as="mapMarker">
<google-map-marker on-google-map-marker-click="inform" on-google-map-marker-dragend="inform" click-events="true" draggable="true" drag-events="true" latitude="{{mapMarker.latitude}}" longitude="{{mapMarker.longitude}}">
</google-map-marker>
</template>
</google-map>
更好理解的示例: 我将我的标记从纬度拖动:0经度:0到纽约,拖动完成后,我得到值纬度:0经度:0,而不是纽约的经度和纬度。
答案 0 :(得分:0)
我正在使用观察者来捕捉/读取标记位置的变化。
以下是示例Plunk,元素my-marker_drag_catch:
//called on property this.marker_latitude change.
marker_latitudeChanged: function() {
console.log('marker_latitudeChanged');
if (this.marker_latitude) {
this.save_marker_data();
}
},
//called on property this.marker_latitude change.
marker_longitudeChanged: function() {
console.log('marker_longitudeChanged');
if (this.marker_longitude) {
this.save_marker_data();
}
},
答案 1 :(得分:0)
我们使用event.detail.latLng.lat()解决了它;和event.detail.latLng.lng();而不是event.model ...
inform: function(event){
this.$.userInformationLatitude.innerHTML = event.detail.latLng.lat();
this.$.userInformationLongitude.innerHTML = event.detail.latLng.lng();
}