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);
  }
});

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?


Dzięki za pomoc. Jestem zdecydowanie nowicjuszem, jeśli chodzi o Mapy Google i JavaScript, więc wciąż nad tym pracuję.
b-rad-b
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.