5 votos

¿Cómo eliminar un solo marcador en Mapbox.js?

Tengo un simple marcador añadido al mapa como este:
var x = L.marker([50.5, 30.5]); x.addTo(map);

Ahora, ¿cómo puedo ocultar/eliminar x ? He buscado en el Documentos de la API para un método Marker.remove(), pero no pude encontrar ninguno.

Aún más impar - Google me está fallando. Todos los resultados que puedo obtener es cómo eliminar toda la capa con todos los marcadores, pero no sólo uno.

¿Estoy entendiendo algo mal sobre los marcadores? ¿Hay alguna forma de eliminar sólo uno?

8voto

Chris Gerig Puntos 6082

Sí, puede parecer confuso, pero internamente los marcadores se tratan como capas. Hay que utilizar removeLayer , sólo eliminará un único marcador:

var x = L.marker([51.5, -0.09]).addTo(map);
var y = L.marker([51.45, -0.09]).addTo(map);
map.removeLayer(x);

0voto

Wandering Fool Puntos 463

En primer lugar, añadir un montón de marcadores:

for (var i=0; i < schools.length;i++){
    var marker = L.marker([schools[i].latLng.lat, schools[i].latLng.lng], {
          icon: L.mapbox.marker.icon({
            'marker-color': '#9c89cc'
          })
        })
        .bindPopup('<div class=\"marker-title\"><h2>'+schools[i].uniName+'</h2></div>')
        .addTo(map);
    allMarkers.push(marker);
  }

Luego, ocultar ese marcador específico (en este caso sólo oculto el primero, pero se podría ocultar en función de cualquier número de variables):

$(allMarkers[0]._icon).hide()

0voto

N. Abel Puntos 58

Tenga en cuenta que esta respuesta está obsoleta. El comportamiento actual sería x.remove()

https://docs.mapbox.com/mapbox-gl-js/api/markers/#marker#remove

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