我有一组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