3 votos

Leaflet.js añade/quita el control del Mapa

Estoy intentando combinar dos buenos plugins Folleto Botón Fácil y Máquina de enrutamiento de folletos Lo que quiero parece bastante simple, me gustaría tener un botón que cuando se hace clic añade y elimina el control de enrutamiento en el mapa. actualmente puedo añadir el botón y el control y hacer que el botón de quitarlo, pero no sé cómo conseguir un poco de palanca dulce como la funcionalidad.

Actualmente estoy atascado con esto:

var route = L.Routing.control({
    waypoints: [

    ],
    units: 'imperial',
    geocoder: L.Control.Geocoder.google(),
    routeWhileDragging: true
  }).addTo(map);

  L.easyButton('fa-compass',
  function (){route.removeFrom(map)},

  'Routing'
);

Además, he intentado manipular los elementos del DOM utilizando este pero no he tenido suerte.

4voto

Om Shankar Puntos 117

Cambiar la función del botón fácil a:

L.easyButton('fa-compass',
  function (){
    $('.leaflet-routing-container').is(':visible') ? route.removeFrom(map) : route.addTo(map)
  },
  'Routing'
);

Esto sólo aplica un simple operador ternario para determinar si se añade o se quita el control de ruta (y utiliza jQuery para detectar la visibilidad del contenedor de ruta).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X