2 votos

El contenedor de mapa ya está inicializado

En Leaflet, quiero que todos mis marcadores estén ocultos al mismo tiempo y se muestren al hacer clic en un checkbox.

Aquí está mi código:

var cordnt=this.coordinates;
var overlayMarker = {};
 console.log("probando coordenadas", cordnt)
var layerGroup = L.layerGroup().addTo(map)
for (i = 0; i < cordnt.length; i++) {
  newMarker = new L.marker([cordnt[i][0], cordnt[i][1]]).bindPopup(notation.desc);
  newMarker.openPopup()
   layerGroup.addLayer([newMarker])
  Object.assign(overlayMarker, {'Marcadores': layerGroup});
}

console.log("probando latitud y longitud",layerGroup)
L.control.layers(null, overlayMarker).addTo(map);

¿Cómo puedo lograr esto?

0 votos

¡Bienvenido a GSE! He reformateado tu pregunta y tu código, y he añadido una pregunta clara. Por favor, edita tu publicación para añadir detalles, código con comentarios, versión de leaflet y qué navegador se utiliza, etc.

0 votos

El título de una pregunta no debería ser lo único que no sea código. De hecho, el título debería ser un breve resumen de lo que trata la pregunta, nada más. El cuerpo requiere detalles de las versiones de software, el propósito, los datos y el problema encontrado. Las publicaciones con un "muro de código" son votadas negativamente y cerradas.

0 votos

¿Puedes explicar el significado del título "El contenedor del mapa ya está inicializado"? Suena como un mensaje de error. ¿En qué paso aparece?

3voto

Steve Gray Puntos 156

Parece que quieres leer un archivo y crear marcadores, y estos marcadores deberían estar en un grupo de capas para que Leaflet los maneje como una sola capa. Aquí tienes algo similar a tu código que yo usé.

$.getJSON(url, function(data) {
    for (i = 0; i < data.length; i++) { 
        var lng = data[i].coordinates[0];
        var lat = data[i].coordinates[1];
        var Line1 = data[i].addressLine1;
        var Line2 = data[i].addressLine2;
        MCDs = L.marker([lat,lng]).bindPopup("Dirección: " + Line1 + "Región: " + Line2);
        mcd.addLayer(MCDs);
    } 
});

//mcd.addTo(map);  //descomenta si quieres que el grupo de capas se dibuje cuando se cargue el mapa, //deja comentado si quieres que esté desmarcado en el control de capas.

var overlayMaps = {
    "Grupo de Capa JSON":mcd 
};  

//Añadir control de capas
var layerControl = L.control.layers(baseMaps, overlayMaps).addTo(map);

0 votos

Gracias Bill, realmente aprecio tu ayuda, muchas gracias.

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