Jeg prøver at oprette en begivenhedslytter, der slukker et google-fusionslag, når kortet er zoomet ind på et bestemt niveau. Jeg er ret ny på javascript og dets google maps api, så enhver hjælp er værdsat. Jeg fandt en kode, der ser ud til at være tæt på, hvad jeg har brug for:
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); } });
Kommentarer
- Se dette websted: developers.google.com/maps/documentation/javascript/examples/… Joseph Shi
- Kan du skrive et kort uddrag, hvis indholdet fjernes senere?
Svar
Her er en kode, som jeg med succes bruger til at skifte et Fusion Tables-lag på et af mine kort:
google.maps.event.addListener(map, "zoom_changed", function() { zoomLevel = map.getZoom(); if (zoomLevel >= minFTZoomLevel) { FTlayer.setMap(map); } else { FTlayer.setMap(null); } });
det ser næsten identisk ud med din kode bortset fra addListener vs addDomListener. Kan du prøve at tilføje et brudpunkt inde i din funktion for at sikre, at den faktisk kører?
Kommentarer
- Tak for din hjælp. Jeg ' er bestemt en nybegynder, når det kommer til Google Maps og Javascript, så jeg ' arbejder stadig på det.