Domanda

Ho già aggiunto un listener di caricamento della mappa dopo il quale avvio di aggiungere marcatori al cluster. Voglio visualizzare una schermata di caricamento fino a quando il markerclusteratore finisce il caricamento del marker. Quindi come faccio a farlo? Questo è il mio codice dello schermo di caricamento della pelle che si nasconde sul carico delle tessere della mappa.

google.maps.event.addListener(map, 'tilesloaded', function() {
$("#loading").hide();
});
.

È stato utile?

Soluzione

So che è un vecchio ma per chiunque nella stessa situazione ho trovato una soluzione.

Subito dopo aver creato il cluster

markerCluster = new MarkerClusterer(map,
    markers,
    {
        imagePath:
            "/img/m/"
    });
.

Aggiungi un ascoltatore per 'zoom_changed' come quello:

google.maps.event.addListenerOnce(map,
    'zoom_changed',
    function(event) {
        console.log("zoom occured");
    });
.

(l'ascoltatore una volta la chiave qui, non vuoi che funzioni ogni volta che l'utente ingrandisce, non è nemmeno necessario impostare un valore di zoom diverso, nulla accadrà visivamente)

E poi:

map.setZoom(10);
.

Sto usando lo stesso valore (10) come nella mia funzione InitMap, quindi l'utente non vede zoom o outs.

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