Google Maps v3: Durchsetzung von min. Zoomstufe bei Verwendung von fitBounds
Ich zeichne eine Reihe von Markierungen auf eine Karte (mit Version 3 der Maps-API).
n Version 2 hatte ich den folgenden Code:
bounds = new GLatLngBounds();
... loop thru and put markers on map ...
bounds.extend(point);
... end looping
map.setCenter(bounds.getCenter());
var level = map.getBoundsZoomLevel(bounds);
if ( level == 1 )
level = 5;
map.setZoom(level > 6 ? 6 : level);
Und das funktioniert einwandfrei, um sicherzustellen, dass auf der Karte immer ein angemessener Detaillierungsgrad angezeigt wird.
Ich versuche, diese Funktionalität in Version 3 zu duplizieren, aber setZoom und fitBounds scheinen nicht zusammenzuarbeiten:
... loop thru and put markers on the map
var ll = new google.maps.LatLng(p.lat,p.lng);
bounds.extend(ll);
... end loop
var zoom = map.getZoom();
map.setZoom(zoom > 6 ? 6 : zoom);
map.fitBounds(bounds);
Ich habe verschiedene Permutationen ausprobiert (zum Beispiel das Verschieben der fitBounds vor dem setZoom), aber nichts, was ich mit setZoom mache, scheint die Map zu beeinflussen. Vermisse ich etwas? Gibt es eine Möglichkeit, dies zu tun?