2016-04-06 11 views
1

У меня есть слой geojson в листовке, и я хотел бы вызвать всплывающее окно по определенной функции. При объявлении слоя geoJson у меня уже есть свойство onEachFeature, которое будет вызывать всплывающее окно. Это отлично работает.Всплывающее окно триггера листовки

onEachFeature: function (feature, layer) { 
    layer.bindPopup('<div><h1>' + feature.properties.name + '</h1></div><div>' + feature.properties.description + '</div>'); 
    } 

Я хотел бы вызвать это всплывающее меню программно, хотя, скажем, на мероприятии. Как я могу это сделать?

Спасибо!

ответ

0

Вы должны выбрать необходимый уровень и вызвать метод .openPoup(). Например:

var geoJson = L.geoJson(geoJsonData, { 
    onEachFeature: onEachFeature 
}).addTo(map); 
geoJson.getLayer(layerId).openPopup() 

Я сделал скрипку для вас: http://jsfiddle.net/wz3Lj7v4/15/. Основная проблема заключается в том, как вы получаете необходимый слой. Вы можете посмотреть на .getLayer(), .getLayers() и .eachLayer() методов.

Смежные вопросы