单击返回geoJSON传单层的名称

时间:2017-06-09 22:54:24

标签: javascript leaflet

我有一个包含多个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 = ????
    });
}  

我已经尝试将featurelayer分配给nameOfLayer,但是从我可以收集的内容看起来就像点击了点,而不是geoJSON层本身。

这可以与传单和JavaScript一起使用吗?

1 个答案:

答案 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 leaftletLeaflet omnivore + clustering markers + filtering marker cluster group