1
濾波標記後,我已經從Mapbox外部GeoJSON的文件設置的功能和結合彈出窗口下面的例子中,這些特徵在https://www.mapbox.com/mapbox.js/example/v1.0.0/custom-popup/彈出窗口不再功能mapbox
var myLayer = L.mapbox.featureLayer(bldgData).addTo(map);
myLayer.eachLayer(function(layer) {
// set up popup for each marker
var content = "";
var props = layer.feature.properties;
var imagePart = "<img class='popupPic' src='images/thumbnails/" + props.filename + "' ></img>";
var infoPart = "<h3 class='popupInfo'>" + props.bldgName + "</h3><p>" +
props.architect + "<br />" + props.year + "</p>";
content = imagePart + infoPart;
layer.bindPopup(content, {closeButton: false});
});
的彈出式窗口設置爲顯示上鼠標懸停...
myLayer.on('mouseover', function(e) {
e.layer.closePopup();
e.layer.openPopup();
});
myLayer.on('mouseout', function(e) {
e.layer.closePopup();
});
我還設置過濾在https://www.mapbox.com/mapbox.js/example/v1.0.0/filtering-markers/
顯示以下的例子中選擇的特徵彈出窗口在我第一次顯示頁面時正確顯示,並且過濾器正確選擇要顯示的標記的子集,但在過濾器被觸發後,彈出窗口不再顯示在鼠標懸停上。過濾完成後,是否需要重新綁定彈出窗口(通過顯式觸發eachLayer函數或其他)?
謝謝!重新綁定取得了訣竅! – yoki
好吧,它的工作原理是彈出窗口不再消失,但是每個彈出窗口現在只顯示geojson中的最後一條記錄。你能分享一下你如何解決問題的代碼嗎? – TWS
在設置過濾器函數後立即將layerPopup包裝在layer.foreach()中。 myLayer.eachLayer(function(layer){ var content =「Info goes here」; layer.bindPopup(content,{{ closeButton:false}); }); – yoki