Zoom Cambia listener di eventi con api google maps


10

Sto cercando di creare un listener di eventi che disattiva un livello di fusione di Google una volta che la mappa viene ingrandita a un certo livello. Sono abbastanza nuovo di JavaScript e delle sue API di Google Maps, quindi ogni aiuto è apprezzato. Ho trovato un codice che sembra vicino a ciò di cui ho bisogno:

google.maps.event.addDomListener(map, 'zoom_changed', function() {
  var zoom = map.getZoom();
  if (zoom >= 1 && zoom <= 9) { 
    layer_0.setMap(map);
    layer_1.setMap(map);
  } 
  else if (zoom > 9 && zoom <= 11) {
    layer_0.setMap(map);
    layer_1.setMap(map);
  }
  else if (zoom > 11) {
    layer_0.setMap(null);
    layer_1.setMap(map);
  }
});

Si prega di consultare questo sito Web: developers.google.com/maps/documentation/javascript/examples/… Joseph Shi
Joseph Shi,

Puoi scrivere un breve estratto, nel caso in cui il contenuto venga rimosso in seguito?
Lynxlynxlynx,

Risposte:


12

Ecco un po 'di codice che sto usando con successo per attivare / disattivare un livello Fusion Tables in una delle mie mappe:

google.maps.event.addListener(map, 'zoom_changed', function() {
    zoomLevel = map.getZoom();
    if (zoomLevel >= minFTZoomLevel) {
        FTlayer.setMap(map);
    } else {
        FTlayer.setMap(null);
    }
});

sembra quasi identico al tuo codice, a parte addListener vs addDomListener. Puoi provare ad aggiungere un punto di interruzione all'interno della tua funzione per assicurarti che sia effettivamente in esecuzione?


Grazie per l'aiuto. Sono sicuramente alle prime armi quando si tratta di Google Maps e Javascript, quindi ci sto ancora lavorando.
b-rad-b,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.