点击它时,我在尝试显示多字形功能的属性时遇到了一些麻烦。
该要素属于由多边形要素和MultiPolygon要素组成的要素集合。
可以在以下网址查看代码: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时,它不会返回该功能的属性。
从查看传单返回的内容开始,它也不会将该功能作为featureGroup
返回。
如果有人对此有任何建议,我会非常感激!
答案 0 :(得分:1)
传单作者在这里。在这种情况下,e.layer
返回的是作为要素的一部分的形状,而不是要素本身(具有feature
属性)。
这已在几乎发布的Leaflet 1.0 beta 1中得到修复,但对于当前版本,解决方法是将点击侦听器分别放在每个层上(例如,使用counties.eachLayer
进行迭代),并依赖{{ 1}}而不是e.target
。