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


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?


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.