您好,我是Leaflet的新手,并在Leaflet上尝试了一些新功能。我创建了自己的地图并添加了传单标签库。在this示例中,当鼠标悬停在标记区域上时标签出现并在鼠标移出时消失。但正如你在下面看到的那样,当我在地图中尝试这个简单的函数时,这种情况就不会发生了。 有没有人有同样的问题?
function onEachFeature(feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}
这是我定义oneachfeature func的方式..
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
});
}
这就是我如何回忆这个功能。我不知道为什么它不能正常工作?
答案 0 :(得分:0)
非常难以猜测"因为您没有在问题中添加任何代码,但我的第一个代码是:您需要从noHide: true
方法的选项中移除bindLabel
选项:
为:
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');
参考:.select()
答案 1 :(得分:0)
我理解这个问题。该标签类是一个全自动标签系统。您所要做的就是添加此类onEachFeature
函数,如下所示:
function onEachFeature(feature, layer) {
var labello = layer.bindLabel(feature.properties.NAME_1);
labello.addTo(map);
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}