Zoom Change Event Listener com API do Google Maps

10

Estou tentando criar um ouvinte de evento que desativa uma camada de fusão do google assim que o mapa é ampliado para um determinado nível. Eu sou muito novo para javascript e sua API do Google Maps, então qualquer ajuda é apreciada. Encontrei um código que parece próximo ao que eu preciso:

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
fonte
Por favor, consulte este site: developers.google.com/maps/documentation/javascript/examples/… Joseph Shi
Joseph Shi
Você pode escrever um pequeno trecho, caso o conteúdo seja removido posteriormente?
Lynxlynxlynx

Respostas:

12

Aqui está um código que estou usando com êxito para alternar uma camada do Fusion Tables em um dos meus mapas:

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

parece quase idêntico ao seu código, além de addListener vs addDomListener. Você pode tentar adicionar um ponto de interrupção dentro de sua função para garantir que ele esteja realmente em execução?

Stephen Lead
fonte
Obrigado pela ajuda. Definitivamente, sou novato no que diz respeito ao Google Maps e Javascript, por isso ainda estou trabalhando nisso.
b-rad-b