Ich verwende fitBounds (), um die Zoomstufe auf meiner Karte festzulegen. Dazu gehören auch alle derzeit angezeigten Markierungen. Wenn jedoch nur eine Markierung sichtbar ist, beträgt die Zoomstufe 100% (... welche Zoomstufe 20, glaube ich ...). Ich möchte jedoch nicht, dass es so weit hineingezoomt wird, damit der Benutzer die Position des Markers anpassen kann, ohne herauszoomen zu müssen.
Ich habe folgenden Code:
var marker = this.map.createMarker(view.latlng, this.markerNumber);
this.map.bounds.extend(view.latlng);
this.map.map.setCenter(this.map.bounds.getCenter());
this.map.map.fitBounds(this.map.bounds);
if (this.markerNumber === 1) {
this.map.map.setZoom(16);
}
this.markerNumber++;
Dabei wurde this.map.bounds zuvor definiert als:
this.map.bounds = new google.maps.LatLngBounds();
Das Problem, das ich habe, ist jedoch, dass die Zeile this.map.map.setZoom(16);
nicht funktioniert, wenn ich sie verwende this.map.map.fitBounds(this.map.bounds);
. Ich weiß jedoch, dass die Codezeile korrekt ist, da setZoom () beim Kommentieren der Zeile fitBound () auf magische Weise funktioniert.
Irgendwelche Ideen, wie ich das lösen kann? Ich denke darüber nach, eine maxZoom-Stufe als Alternative einzustellen, wenn dies nicht funktioniert.