Um die gegebene Antwort mit ein paar nützlichen Tricks zu erweitern:
var markers = //some array;
var bounds = new google.maps.LatLngBounds();
for(i=0;i 15){
map.setZoom(15);
}
//Alternativ kann dieser Code verwendet werden, um den Zoom für nur 1 Marker einzustellen und das Neuzuzeichnen zu überspringen.
//Beachten Sie, dass dies den Fall nicht abdeckt, wenn Sie 2 Marker an der gleichen Adresse haben.
if(count(markers) == 1){
map.setMaxZoom(15);
map.fitBounds(bounds);
map.setMaxZoom(Null)
}
UPDATE:
Weitere Recherchen zum Thema zeigen, dass fitBounds() asynchron ist und es am besten ist, die Zoom-Manipulation mit einem Listener zu machen, der definiert ist, bevor Fit Bounds aufgerufen wird.
Danke @Tim, @xr280xr, weitere Beispiele zum Thema: SO:setzoom-after-fitbounds
google.maps.event.addListenerOnce(map, 'bounds_changed', function(event) {
this.setZoom(map.getZoom()-1);
if (this.getZoom() > 15) {
this.setZoom(15);
}
});
map.fitBounds(bounds);