Ich zeichne eine Reihe von Markierungen auf einer Karte (mit v3 der Karten-API).
In v2 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 gut, 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 eine andere Permutation ausprobiert (z. B. Verschieben der fitBounds vor dem setZoom), aber nichts, was ich mit setZoom mache, scheint die Karte zu beeinflussen. Vermisse ich etwas Gibt es eine Möglichkeit, dies zu tun?