Mapbox.js / Leaflet 如何在点击时获取 MultiPolyon 的属性?

Mapbox.js / Leaflet How to get properties of MultiPolyon on click?

我在尝试显示多面要素的属性时遇到了一些问题。

该要素属于由多边形要素和多边形要素组成的要素集合。

可以在要点中查看代码,可以在以下位置查看:http://bl.ocks.org/rustyb/fcd0b674a6d889a7529a

// load the geojson
counties.loadURL('cc.geojson')
  .on('ready', done); 

// log county name when feature clicked.
counties.on('click', function(e) {
        console.log(e.layer.feature.properties.NAME);
    });

没什么特别的。但是,当我单击 MultiPolygon 时,它不会 return 要素的属性。

也没有通过查看传单 return 编辑的内容来 return 作为 featureGroup 的功能。

如果有人对此有任何建议,将不胜感激!

这里是传单作者。在这种情况下,e.layer returns 是作为特征一部分的形状,而不是特征本身(具有 feature 属性)。

这在即将发布的 Leaflet 1.0 beta 1 中已修复,但对于当前版本,解决方法是将点击监听器分别放在每一层上(例如用 counties.eachLayer 迭代),并依赖e.target 而不是 e.layer.