Domanda

Usando il fantastico foglietto di mappatura della libreria di mappatura openstreetmap.js per un po 'ora, e ho appena iniziato a implementare Questo plug-in clustering .L'ho funzionato bene con un progetto attuale, che carica diversi livelli sulla mappa e in una barra laterale cliccabile.

L'unico problema è che se clicco su un elemento della barbabietola laterale e il marcatore corrispondente è in un oggetto clustering, ottengo un errore.Ho aggirato questo controllando un errore (usando Try / Catch) e lo zoom in modo che il livello sia visibile come segue:

$('.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;
});
.

L'unico problema è che ottengo lo stesso errore durante il tentativo di eseguire il metodo OpenPopup () dopo lo zoom, sebbene, se clicco sulla barra laterale, il popup mostra bene.Puoi vederlo in azione qui:

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

Qualche idea?

È stato utile?

Soluzione

Sì, ho avuto lo stesso problema con quel plugin.Quindi ho sviluppato il mio, che dovrebbe posizionare correttamente i popup.Sto anche costruendo in alcuni eventi, quindi puoi eseguire un codice quando si fa clic su un cluster o impedire il cambio del livello di zoom.

https://github.com/cavis/leafpile

Inoltre, sto lavorando a un progetto simile al tuo - https://github.com/cavis/slidemapper.È un plugin jquery per creare uno slideshow che segue insieme su una mappa.Sto lavorando per integrare il mio plug-in fogliatore direttamente in esso.

Altri suggerimenti

Forse hai dovuto ingrandire lo zoom sul livello del cluster usando zoomToShowLayer:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top