Zoom Zmień detektor zdarzeń za pomocą interfejsu Google Maps API

11

Próbuję utworzyć detektor zdarzeń, który wyłącza warstwę Google Fusion po powiększeniu mapy do określonego poziomu. Jestem całkiem nowy w javascript i jego API map Google, więc każda pomoc jest mile widziana. Znalazłem trochę kodu, który wydaje się bliski temu, czego potrzebuję:

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);
  }
});
b-rad-b
źródło
Proszę zobaczyć tę stronę internetową: developers.google.com/maps/documentation/javascript/examples/... Joseph Shi
Joseph Shi
Czy możesz napisać krótki fragment na wypadek, gdyby treść została później usunięta?
lynxlynxlynx

Odpowiedzi:

13

Oto kod, którego z powodzeniem używam do przełączania warstwy tabel syntezy na jednej z moich map:

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

wygląda prawie identycznie jak twój kod, oprócz addListener vs addDomListener. Czy możesz spróbować dodać punkt przerwania do funkcji, aby upewnić się, że faktycznie działa?

Stephen Lead
źródło
Dzięki za pomoc. Jestem zdecydowanie nowicjuszem, jeśli chodzi o Mapy Google i JavaScript, więc wciąż nad tym pracuję.
b-rad-b