我正在使用this插件在折线周围移动标记。
这是移动标记的启动方式。
var locations = [
["LOCATION_1",25.700769, 82.300140],
["LOCATION_2",26.600969, 83.400260],
["LOCATION_3",27.600969, 84.400260],
["LOCATION_4",28.600969, 85.400260],
["LOCATION_5",29.600969, 86.400260],
["LOCATION_6",24.600969, 87.400260],
["LOCATION_7",23.500969, 88.200260],
["LOCATION_8",22.400969, 89.300260],
["LOCATION_9",25.700569, 90.400000]
];
var latlng = array();
for (var i = 0; i < locations.length; i++) {
latlngs.push([locations[i][1],locations[i][2]]);
}
var myMovingMarker = L.Marker.movingMarker(latlngs,
[2500,4000,2000,5000,4000,5000,3000,2000,4000], {
autostart: true
});
我希望每次标记到达locations
数组中的坐标时都弹出一条消息。
每当标记达到某个latlng
坐标时,是否有任何方法可以触发事件?
或者当标记重新捕获某个点时,还有其他方法可以绑定弹出窗口。
答案 0 :(得分:2)
首先注册一个捕获start
状态的事件
myMovingMarker.on('start',function(event) {
// console log your event
console.log(event)
});
我不确定,但是latlng
内应该有一个名为event.target
的属性
一旦您拥有latlng
myMovingMarker.on('move',function(event) {
// ... you already have your lat and lng here
// check if your latlng is in your array here
if (condition) {
myMovingMarker
.bindPopup('<b>My popup content !</b>', {closeOnClick: false})
.openPopup()
} else {
myMovingMarker.closePopup()
myMovingMarker.unbindPopup()
}
});