Zoom Change Listener Event avec Google Maps API

10

J'essaie de créer un écouteur d'événements qui désactive une couche de fusion Google une fois que la carte est zoomée à un certain niveau. Je suis assez nouveau sur javascript et son api google maps, donc toute aide est appréciée. J'ai trouvé un code qui semble proche de ce dont j'ai besoin:

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
la source
Veuillez consulter ce site Web: developers.google.com/maps/documentation/javascript/examples/… Joseph Shi
Joseph Shi
Pouvez-vous écrire un court extrait, au cas où le contenu serait supprimé plus tard?
lynxlynxlynx

Réponses:

12

Voici un code que j'utilise avec succès pour basculer une couche Fusion Tables dans l'une de mes cartes:

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

il semble presque identique à votre code, à l'exception de addListener vs addDomListener. Pouvez-vous essayer d'ajouter un point d'arrêt à l'intérieur de votre fonction pour vous assurer qu'il fonctionne réellement?

Stephen Lead
la source
Merci de votre aide. Je suis définitivement novice en ce qui concerne Google Maps et Javascript, donc je travaille toujours dessus.
b-rad-b