Leaflet map: маркер, нажмите, чтобы изменить всплывающее окно другого маркера - PullRequest
0 голосов
/ 13 марта 2020

Я очень хорошо разбираюсь в программировании и мне нужна эта опция только для одного конкретного c проекта. Я хотел бы изменить содержимое одного основного всплывающего окна, нажимая на разные маркеры. Дело в том, что у меня есть 0 подсказок, как получить .setContent () всплывающего окна для другого маркера, используя .on ('dblclick') мой маркер.

Я думал о присвоении значения переменной в зависимости от номера маркера , а затем заполняя одно заданное c всплывающее окно с информацией о номере переменной.

Я намеренно пропустил блок кода, поскольку он никого не приблизил бы к моей проблеме. Я добавил свой проект на jsfiddle.

Спасибо !!!

Мой проект на jsfiddle

var map = L.map('map').setView(center, 11);
var popupMaster = L.popup({
    closeOnClick: false,
    autoClose: false,
    closeButton: false
  })
  .setLatLng([54.451194, 18.744001])
  .setContent('Show text here')
  .openOn(map);


var marker1 = L.marker([54.351194, 18.644001], {
    title: "F-25",
    opacity: 0.5
  })
  .addTo(map)
  .bindPopup(popup1)
  .on('mouseover', function(e) {
    this.openPopup();
    this.setOpacity(1.0);
  })
  .on('mouseout', function(e) {
    this.closePopup();
    this.setOpacity(0.5)
  });

1 Ответ

2 голосов
/ 13 марта 2020

У вас уже есть главное всплывающее окно в переменной, поэтому вы можете обновить содержимое события dblclick для другого маркера, например

marker.on("dblclick", function(e) {
    popupMaster.setContent("New content here");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...