Ответ 1
Существует чистый метод из вашего объекта map, чтобы закрыть все открытые всплывающие окна
map.closePopup();
Я работаю над картой, используя Leaflet.js, которая использует несколько маркеров (в конце концов будет ~ 40 маркеров). Каждый маркер имеет соответствующее всплывающее окно с подробными сведениями. Поведение Leaflet.js по умолчанию, по-видимому, заключается в том, чтобы автоматически открыть хотя бы одно всплывающее окно маркера (я думаю, последний указанный маркер).
Я хотел бы, чтобы все всплывающие окна были закрыты при начальной загрузке страницы карты, чтобы пользователи могли щелкнуть маркеры, чтобы открыть всплывающие окна. Кто-нибудь знает как это сделать? У меня есть прототип здесь:
http://dev.monographic.org/maps/prototype-10.html
Спасибо.
Существует чистый метод из вашего объекта map, чтобы закрыть все открытые всплывающие окна
map.closePopup();
Мне удалось решить мою проблему по этой части кода:
$(".leaflet-popup-close-button")[0].click();
Надеюсь, что это поможет кому-то в будущем.
Просто удалите свои вызовы .openPopup()
.
Вместо
L.marker([57.70887, 11.97456]).addTo(map).bindPopup("<b>Ideal Festival</b><br />2004").openPopup();
Используйте
L.marker([57.70887, 11.97456]).addTo(map).bindPopup("<b>Ideal Festival</b><br />2004");
Поведение кликов по-прежнему будет (когда пользователи нажмут на эти маркеры, всплывающие окна все равно появятся), но всплывающие окна не будут видны при загрузке страницы.
$(".leaflet-popup-close-button").click()
попробуйте это после завершения загрузки карты.