Leaflet Toggle groupСлой маркеров с jquery - PullRequest
0 голосов
/ 18 апреля 2020

Я хотел бы создать функцию щелчка до , показать и скрыть мои маркеры (щелчок в img lo go рядом с моей картой) .

У меня есть img lo go:

<a title="Curieux" id="folieLogo"><img class="logo deuz" src="Icons/icons8-trampoline-96.png"></a>

У меня есть группа слоев в var "nordLayer":

     var nordLayer = L.layerGroup([markerA,markerB, markerC])

Функция для показа маркеры:

     $("#folieLogo").click(function() {var nordLayer = L.layerGroup([markerA,markerB, markerC]).addTo(mymap).toggle("slow");
 });

Когда я нажимаю на мой lo go, он показывает мои маркеры, но не скрывает их при втором щелчке. Пожалуйста помоги. Большое спасибо, что нашли время.

Моя карта с логотипами вокруг нее

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Наконец-то сделал это с помощью друга, спасибо вам, EDEN!

У меня еще есть группа layerGroup маркеров под названием "nordLayer"

var nordLayer = L.layerGroup([markerA,markerB, markerC])

Итак, мы должны установить Новая переменная с = 0 для статуса, мы назовем ее «clickFol ie»:

var clickFolie = 0;

, а затем создадим функцию, включающую статус изменения клика:

     document.getElementById("folieLogo").onclick = function() { 
  if(clickFolie%2===0){
   nordLayer.addTo(mymap);
  }
 else{
   nordLayer.remove();
  } 
  clickFolie+=1;
 } 

Работает хорошо для меня сейчас. Спасибо моему приятелю. Надеюсь, это поможет sbdy.

0 голосов
/ 18 апреля 2020

Вам необходимо добавлять и удалять layerGroup каждый раз, когда пользователь щелкает изображение.

var nordLayer = L.layerGroup([markerA,markerB,markerC]).addTo(mymap);

$("#folieLogo").click( function () {
  //check if the nordLayer is defined
  //if defined, remove the layer from the map
  if (nordlayer) {
    nordlayer.removeLayer();
  //if the nordlayer is not defined
  //this will added to the map
  } else {
    nordLayer = L.layerGroup([markerA,markerB,markerC]).addTo(mymap);
  }
});
...