我有一組geoJSON點,並且它們附有相應的標籤。Leaflet.label沒有顯示在標記上
var points = L.geoJson (null, {
onEachFeature: function (feature, layer) {
layer.options.riseOnHover=true; //tried adding this
layer.options.riseOffset=9999; //as well as this
layer.bindLabel(feature.properties["name"], {className: 'map-label'});
L.setOptions(layer, {riseOnHover: true}); //this as well
}
});
這是通過JSON文件中的每個功能並創建一組點的代碼。現在,加標記到地圖中的實際功能是這樣的:
var addJsonMarkers = function() {
map.removeLayer(markers);
points.clearLayers();
markers = new L.layerGroup();
points.addData(dataJson);
markers.addLayer(points);
map.addLayer(markers);
return false;
};
我遇到的問題是,無論什麼我嘗試添加(你可以看到我的意見),標籤總是落後於標記,這不是預期的行爲。
我想在標籤要在它上面。我試着手動更改map-label
類中的z-index
,以及riseOnHover
這個似乎是解決方案的衆多解決方案,但標籤仍然存在。任何人看到我在做什麼錯了?
完整的代碼可以看出here
你需要看看,看看標籤被安裝到什麼窗格中的地圖和移動它到標記上方的一個。您也可以查看標記的{optimized:false}(如果可用)。 – geocodezip 2014-12-03 22:40:04
它被附加到'leaflet-marker-pane',作爲div中所有標記列表中的最後一個元素。 – 2014-12-05 19:51:43