Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传单。标签未显示在标记上_Javascript_Google Maps_Google Maps Markers_Z Index_Leaflet - Fatal编程技术网

Javascript 传单。标签未显示在标记上

Javascript 传单。标签未显示在标记上,javascript,google-maps,google-maps-markers,z-index,leaflet,Javascript,Google Maps,Google Maps Markers,Z Index,Leaflet,我有一组geoJSON点,它们有相应的标签 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.

我有一组geoJSON点,它们有相应的标签

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
的众多解决方案,这似乎是解决此问题的方法,但标签仍然落后。有人看到我做错了什么吗


可以看到完整的代码

看看bringToFront()和bringToBack()方法,为标记创建一个组函数并将其返回,同时使用标签执行相反的操作。或者,如果您没有找到解决方案,可以添加L.info以显示信息。看看这里,也许这会有所帮助:
将您的代码也张贴到某个地方,以便我可以查看。

bindable
选项中指定
popupane
pane

layer.bindLabel(
    feature.properties["name"], 
    {
        className: 'map-label', 
        pane:'popupPane'
    }
);
在传单中,Popupane高于markerPane,因此您的标签将显示在标记的顶部

有一个用于传单的小文档。带有选项说明的标签


还要检查这个jsfiddle:

您需要查看标签附着到地图的哪个窗格,并将其移动到标记上方的一个窗格。您还可以查看标记的{optimized:false}(如果有)。它被附加到
传单标记窗格
,作为div中所有标记列表的最后一个元素。感谢您的回答。你可以在这里看一下我的代码:我不太熟悉如何做更高级的事情,比如为标记和标签创建组函数,因为我依赖于这个小册子.label插件及其
bindLabel()
函数,所以我不确定在后台实际做了什么。试着评论一下:layer.on({单击:highlightFeature});仍然是一样的。但是,我需要那个监听器,因为当点击标记时,我会在右角弹出一个很好的信息,其中包含一些内容。
只是一个占位符。您是否尝试移动css窗格顺序?查看传单。csw移动窗格顺序是什么意思?这样做了。我在文档中忽略了这个选项点击并在错误的位置搜索解决方案。谢谢!只是确认options.pane='popupane';解决方案。我在传单JS 0.7.3和0.7.5中没有这个问题,但当我切换到传单JS 1.0.0-beta时,它困扰着我。通过JS和/或CSS摆弄zIndex根本不起作用。但是使用options.pane确实起作用。