我有一个包含多个geoJSON图层的传单地图:
var site1 = new L.geoJSON(site1_geojson, {
onEachFeature: onEachFeature,
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, style);
}
}).addTo(map);
我希望onEachFeature
函数返回点击图层的名称(例如" site1")。类似的东西:
var nameOfLayer;
function onEachFeature(feature, layer) {
layer.on('click', function(e) {
nameOfLayer = ????
});
}
我已经尝试将feature
和layer
分配给nameOfLayer
,但是从我可以收集的内容看起来就像点击了点,而不是geoJSON层本身。
这可以与传单和JavaScript一起使用吗?
答案 0 :(得分:0)
如果你想要一个常量字符串:
var site1 = L.geoJSON(site1_geojson, {
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, style);
}
}).addTo(map).bindPopup('Site 1');
如果您需要特定于每个图层/要素的弹出窗口,并且每个要素属性都可以访问此特定内容,则可以参考Combining geojson and json for leaftlet和Leaflet omnivore + clustering markers + filtering marker cluster group