- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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
中的情况相同。
关于javascript - Mapbox simplestyle 会阻止 popupContent?使用 pointToLayer 和 onEachFeature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23999149/
我目前正在尝试学习 React,我想使用传单 map (react-leaflet)。 我有两个(点、多边形)GeoJson 对象要显示,它们正在工作,但我想替换默认标记图标。 传单文档 http:/
我正在尝试在 GeoJSON 组件中使用 pointToLayer 参数。我在组件外部(不同的文件)定义了函数 pointToLayer ,但出现了该错误。 Map.js: import {point
我尝试在我的传单 map 中应用 pointTolayer 但它仍然抛出经典图标。代码中有错误。 $.getJSON("https://gist.githubusercontent.com/vassi
当我包含以下代码时,没有出现任何标记,并且控制台中的错误是: Uncaught TypeError: this.callInitHooks is not a function at pointToLa
您好,有什么方法可以将 jsx 组件传递给 bindPopup 函数,以便我可以在按钮单击时推送 redux 命令? pointToLayer={( geoJsonPoint: Feat
我在 Mapbox 中使用此函数与 geoJson 来使用 simplestyle 中的样式标记 var groupThree = new L.LayerGroup(); L.geoJson(laye
我是一名优秀的程序员,十分优秀!