gpt4 book ai didi

javascript - Mapbox simplestyle 会阻止 popupContent?使用 pointToLayer 和 onEachFeature

转载 作者:行者123 更新时间:2023-12-03 12:29:36 25 4
gpt4 key购买 nike

我在 Mapbox 中使用此函数与 geoJson 来使用 simplestyle 中的样式标记

var groupThree = new L.LayerGroup();
L.geoJson(layerThree, {
pointToLayer: L.mapbox.marker.style,
style: function (feature) {
return feature.properties;
}
}, {
onEachFeature: onEachFeature
}).addTo(groupThree);

但是当我运行它时,单击标记时无法出现弹出窗口。这是 popupContent 的函数:

var popupContent = "";
function onEachFeature(feature, layer) {
if (feature.properties && feature.properties.popupContent) {
popupContent = feature.properties.popupContent;
}
layer.bindPopup(popupContent);
}

Here's my fiddle显示具有有效弹出窗口的无 simplestyle 的标记,以及具有 simplestyle 且弹出窗口不起作用的标记。

pointToLayer 和 onEachFeature 是否以某种方式干扰?我怎样才能让它发挥作用?

最佳答案

除了一个语法错误之外一切正常:

var groupTwo = new L.LayerGroup();
L.geoJson(layerTwo, {
pointToLayer: L.mapbox.marker.style,
style: function(feature) { return feature.properties; }
}, {onEachFeature: onEachFeature}).addTo(groupTwo);
^
^

在这里,您将 onEachFeature 作为 L.geoJson 的单独参数传递,但 L.geoJson 中没有第三个参数。所以基本上你创建了两个对象而不是一个。

已修复:

var groupTwo = new L.LayerGroup();
L.geoJson(layerTwo, {
pointToLayer: L.mapbox.marker.style,
style: function(feature) { return feature.properties; },
onEachFeature: onEachFeature
}).addTo(groupTwo);

groupThree 中的情况相同。

Working JSFiddle

关于javascript - Mapbox simplestyle 会阻止 popupContent?使用 pointToLayer 和 onEachFeature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23999149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com