传单动画标记不显示经纬度

Leaflet animated marker not displaying the latitude and longitude

我正在使用此代码,当我删除 e.latlng.lat and + e.latlng.lng

时,它会在弹出窗口中显示消息
var myMovingMarker = L.Marker.movingMarker([
  [23.59582641820334, 58.439605236053474],
  [21.5278654, 55.9196996]
], [100000], {
  icon: orangeIcon
}, {
  title: "MyPoint",
  alt: "The Big I",
  draggable: true
}, )

var popup = L.popup({
  keepInView: false,
  autoPan: false,
  closeButton: false,
  closeOnClick: true,
  maxWidth: 1000

}).setContent("Lat, Lon : " + e.latlng.lat + ", " + e.latlng.lng)

myMovingMarker.bindPopup(popup).openPopup()

变量e未定义。另外 setContent() 设置一个静态内容,这意味着当你用 setContent() 添加文本时不会更新,即使标记 latlng 已经改变。

每次打开弹窗都要设置内容:

myMovingMarker.on('popupopen',function(e){
    var markerLatLng = e.popup._source.getLatLng();
    e.popup.setContent("Lat, Lon : " + markerLatLng.lat + ", " + markerLatLng.lng)
  })

另一种方法是每次移动标记时更新内容:

myMovingMarker.on('move',function(e){
    var markerLatLng = e.target.getLatLng();
    popup.setContent("Lat, Lon : " + markerLatLng.lat + ", " + markerLatLng.lng)
  })

PS:两者均未测试,但应该有效