我正在使用此代码,当我删除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)
})
附言:两者都没有测试,但应该工作