Leaflet Multipolygon自定义弹出窗口

时间:2013-06-10 15:34:20

标签: popup leaflet geojson

我有一张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类不能用于多面体的弹出窗口,因此我得到了本机弹出窗口。如果我在浏览器中手动更改类 - 没关系。

我尝试了不同的方法。 F.E.使用函数onEachFeature来初始化弹出窗口。但没有任何作用。

有人知道这是什么问题吗?

1 个答案:

答案 0 :(得分:0)

  

有人知道这是什么问题吗?

没有问题。作为L.icon的选项,标记支持ClassName。 (docs)。

Polygon继承了折线和路径的选项,不包括ClassName(docs)。

我认为你有两种可能性:

  1. fork leaflet并将className选项添加到polygon
  2. 通过重载bindPopup
  3. 使子类继承多边形,将className作为选项