0

私はgo-map-marker(dom-repeatで)をイベント:on-google-map-marker-dragendで使用しています。現在のGoogleマップマーカーの位置が正しくありません

ドラッグの完了後にマーカーの現在位置を取得しようとしていますが、現在のドラッグの前にドラッグ上で移動したマーカーの位置のみを取得します。

<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> 

方法:よりよい理解のための

inform: function(event){ 
      // this is not the current position after drag end... 
      console.log(event.model.mapMarker.latitude); 
      console.log(event.target.latitude); 

      this.$.userInformationLatitude.innerHTML = event.model.mapMarker.latitude; 
      this.$.userInformationLongitude.innerHTML = event.model.mapMarker.longitude; 
     } 

例: 私は緯度から私のマーカーをドラッグ:0経度:ニューヨークに0、ドラッグが終了した後、私は値を取得します緯度:0経度:0、ニューヨークの経度と緯度ではありません。

+0

は、 "{{item.latitude}}" =あなたに= "mapMarker" を削除し、緯度を使用するときに何が起こっているのかも "{{マーカー}}" =項目を試してみてください。 –

答えて

0

私は、オブザーバーを使用してマーカー位置の変更をキャッチ/読み取りしています。ここで

は要素私の-marker_drag_catch、例Plunkです)我々はevent.detail.latLng.latを(使用して、それを解決し

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

。 event.detail.latLng.lng();代わりにevent.modelの...

inform: function(event){ 
     this.$.userInformationLatitude.innerHTML = event.detail.latLng.lat(); 
     this.$.userInformationLongitude.innerHTML = event.detail.latLng.lng(); 
} 
関連する問題