2015-07-21 62 views
2

我正在繪製標記在我的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

目前,正在創建每次彈出當用戶單擊該標記。可能這是造成問題的原因。

只需要使用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(); 
}); 
相關問題