Más

Tiene que hacer clic dos veces para abrir el folleto emergente

Tiene que hacer clic dos veces para abrir el folleto emergente


Estoy tratando de hacer un mapa en el que se puede hacer clic en un marcador y se abre una ventana emergente con información. He hecho todo eso con éxito, sin embargo, mi primer clic en cualquiera de los marcadores hace que la ventana emergente se coloque al azar en el mapa. Si vuelvo a hacer clic, la ventana emergente se colocará correctamente (encima del marcador). Creo que estoy haciendo algo mal al llamar a la función "onEachFeature". Aquí está el código:

// Importando los datos del geojson $ .getJSON ("data / factories.geojson", function (data) {factories = L.geoJson (data, {pointToLayer: function (feature, latlng) {return L.circleMarker (latlng, style);}, onEachFeature: onEachFeature, style: style}). addTo (mapa);}); // Acción para cada característica de la función coropleta onEachFeature (característica, capa) {console.log ("onEachFeature"); layer.on ({click: highlightSelection}); } // Resaltando la función de área administrativa seleccionada highlightSelection (e) {// Algún código para agregar texto e imagen a la ventana emergente factories.bindPopup (imagen + texto); ** // Esto restablecerá el resaltado del marcador en el que se hizo clic anteriormente if (firstPass == false) {console.log (lastLayer); resetHighlight (función, lastLayer); } lastLayer = capa; firstPass = falso; layer.on ({click: function () {layer.setStyle ({radio: 14, peso: 2, opacidad: 0, fillColor: '# FFCC00', fillOpacity: 0.8});}}) **} ** / / Restablecer cualquier resaltado después de la función de mouseout resetHighlight (lastLayer) {layer.resetStyle (lastLayer); } **

No creo que tengas que llamar alresaltarSelecciónfunción, intente actualizar laonEachFeaturefunción a algo como el siguiente para agregar contenido a la ventana emergente para cada capa:

// Acción para cada característica de la función coropleta onEachFeature (característica, capa) {console.log ("onEachFeature"); layer.bindPopup ('hola, ventana emergente'); // layer.on ({// click: highlightSelection //}); }