传单标签是不是消失了?

Leaflet label is not disappearing?

嗨,我是使用 Leaflet 的新手,正在尝试 Leaflet 的一些新功能。我创建了自己的地图并添加了传单标签库。在 this 示例中,当鼠标悬停在标记区域上时,标签出现并在鼠标移开时消失。但是正如您在下面看到的,当我在我的地图中尝试这个简单的功能时,这并没有发生; 有没有人遇到同样的问题?

 function onEachFeature(feature, layer) {
      layer.on({
        mouseover: highlightFeature,
        mouseout: resetHighlight,
        click: zoomToFeature
      });
  }

这就是我定义每个功能的方式..

function highlightFeature(e) {
    var layer = e.target;
    var labello = layer.bindLabel('A sweet static label!');//SIKINTIII
    labello.addTo(map);//SIKINTIII
    layer.setStyle({
        weight: 3,
        color: '#f03b20',
        dashArray: '',
        fillOpacity: 0.8
      });

  }

这就是我回忆这个功能的方式。不过我看不出有什么问题。为什么它不起作用?

很难从这里 "guess" 因为你没有为你的问题添加任何代码,但我的第一个是:你需要从你的 [=14] 中删除 noHide: true 选项=] 方法的选项:

差:

L.marker([0, 0]).bindLabel('My label', {noHide: true});

好:

L.marker([0, 0]).bindLabel('My label', {noHide: false});

还不错:

L.marker([0, 0]).bindLabel('My label');

参考:https://github.com/Leaflet/Leaflet.label/blob/master/README.md

我明白这个问题了。这个标签 class 是一个全自动标签系统。您所要做的就是添加这个 class onEachFeature 函数,如下所示:

 function onEachFeature(feature, layer) {
    var labello = layer.bindLabel(feature.properties.NAME_1);
    labello.addTo(map);
      layer.on({
        mouseover: highlightFeature,
        mouseout: resetHighlight,
        click: zoomToFeature
      });
  }