为什么弹出窗口没有在传单标记中显示第二次

时间:2015-07-21 19:44:52

标签: javascript popup leaflet

我在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();
});

1 个答案:

答案 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();
});