我有一个OSM地图,我使用的是leafletjs。
我已经创建了我的自定义弹出标记。如果它能正常工作的话
marker.bindPopup(strMsg,{className: 'myPopup'});
这段代码运行得很好。
现在,我想创建一个相同的弹出窗口,但点击Multilopygon。多边形的数据来自geoJSON。这是我为这个问题写的代码
var c_park = L.geoJson(data[i].geom, {
style: myStyle
});
c_park.bindPopup("strMsg",{className: 'myPopup'});
map.addLayer(c_park);
问题是myPopup类不适合多多边形的弹出,结果我得到了本机弹出窗口。如果我在浏览器中手动更改类-它是ok的。
我尝试了不同的方法。F.e.使用函数onEachFeature来初始化弹出框。
有谁知道是什么问题吗?
有谁知道是什么问题吗?
没有问题。标记支持ClassName作为L.icon的一个选项。(文档)。
Polygon继承了polyline和path选项,它们不包含ClassName (docs)。
在我看来,你有两种可能性:
- fork传单并添加className选项到多边形
- 通过重载bindPopup创建一个继承多边形的子类,并将className作为一个选项