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


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?


Obrigado pela ajuda. Definitivamente, sou novato no que diz respeito ao Google Maps e Javascript, por isso ainda estou trabalhando nisso.
b-rad-b
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.