Возвратите название листовки geoJSON с помощью щелчка

1

У меня есть карта листовка с несколькими слоями geoJSON:

var site1 = new L.geoJSON(site1_geojson, {
    onEachFeature: onEachFeature,
    pointToLayer: function (feature, latlng) {
        return L.circleMarker(latlng, style);
    }
}).addTo(map);  

Я хотел бы, onEachFeature функция onEachFeature возвращала имя (например, "site1") слоя, на который он нажал. Что-то вроде:

var nameOfLayer;
function onEachFeature(feature, layer) {
    layer.on('click', function(e) {
        nameOfLayer = ????
    });
}  

Я попытался назначить feature и layer nameOfLayer, но из того, что я могу собрать, они выглядят так же, как и точка, а не слой geoJSON.

Можно ли это сделать с листом и JavaScript?

Теги:
leaflet

1 ответ

0

Если требуется постоянная строка:

var site1 = L.geoJSON(site1_geojson, {
    pointToLayer: function (feature, latlng) {
        return L.circleMarker(latlng, style);
    }
}).addTo(map).bindPopup('Site 1');

Если вы хотите, чтобы всплывающее окно было специфичным для каждого уровня/функции, и этот конкретный контент доступен в каждом свойстве Свойства, вы можете обратиться к Объединению geojson и json для leaftlet и Leaflet omnivore + Кластерные маркеры + группа фильтрующих маркеров

Ещё вопросы

Сообщество Overcoder
Наверх
Меню