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
.
我在尝试显示多面要素的属性时遇到了一些问题。
该要素属于由多边形要素和多边形要素组成的要素集合。
可以在要点中查看代码,可以在以下位置查看: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
.