我在leaflet地图中绘制了一个标记,点击了我正在显示弹出消息的标记。
如果我第一次点击标记 ,我会看到弹出消息。但是,如果我关闭弹出消息,然后再次单击标记,虽然代码在点击事件代码块内输入,但是当打印控制台消息时,我看不到弹出消息。
这是我的点击事件代码
circle.on("click",function(ev){
var velocity=this.options.speed;
console.log(velocity.toFixed(2));
var layer=ev.target;
layer.bindPopup('Speed: '+velocity.toFixed(2));
console.log("Where is pop");
layer.openPopup();
});
答案 0 :(得分:1)
目前,每次用户点击标记时,您都会创建Popup。可能这会产生问题。
您只需使用bindPopup()
功能一次,即创建标记时。并且仅在openPopup()
函数内使用click
。试试这个
//Place below two lines where you create the marker
var velocity=this.options.speed; //you might need to change this line to get the speed value
circle.bindPopup('Speed: '+velocity.toFixed(2));
//open the popup when user click the marker
circle.on("click",function(ev){
layer.openPopup();
});