Pregunta

He estado usando la fantástica biblioteca de la biblioteca de mapeo de OpenStreetMap, por un tiempo, y acabo de empezar a implementar Este plugin de agrupamiento .Lo tengo funcionando bien con un proyecto actual, que carga diferentes capas en el mapa y en una barra lateral, en una barra lateral.

El único problema es que si hago clic en un elemento de la barra lateral y el marcador correspondiente está en un objeto de agrupamiento, recibo un error.Me he acercado a esto, revisando un error (usando intento / captura) y zoom para que la capa esté visible de la siguiente manera:

$('.item').click(function() {
    currentlayer = this.id;
...
        try {
            geojson._layers[currentlayer].openPopup();
        } catch(e) {
            map.setView(geojson._layers[currentlayer]._latlng, 16); 
            geojson._layers[currentlayer].openPopup();
        }                   
...
    return false;
});

El único problema es que recibo el mismo error al intentar ejecutar el método OpenPopPUP () después de hacer zoom, aunque, si hago clic en la barra lateral nuevamente, la ventana emergente muestra bien.Puedes verlo en acción aquí:

http://www2.lichfielddc.gov.uk/myarea/map2.php

¿Alguna idea?

¿Fue útil?

Solución

Sí, tuve el mismo problema con ese plugin.Así que he desarrollado mi propio, que debería colocar las ventanas emergentes correctamente.También estoy construyendo en algunos eventos, por lo que puede ejecutar un código cuando se hace clic en un clúster, o evitar que el nivel de zoom cambie.

https://github.com/cavis/lefappile

TAMBIÉN, estoy trabajando en un proyecto similar a la suya: https://github.com/cavis/slidemapper.Es un plugin jQuery para crear una presentación de diapositivas que sigue en un mapa.Estoy trabajando en la integración de mi plugin de leafpile directamente en él.

Otros consejos

Tal vez tenías que zoom a la capa de clúster usando zoomToShowLayer:

https://github.com/leaflet/leaflet.markercluster/issues/75

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top