Ich habe 2 GeoPoints bekommen, um sie auf der Karte mit Markern zu zeigen.
Wie kann ich die optimale Zoomstufe für den MapController erreichen, um die Mitte beider Punkte zu fokussieren, aber auch auf der Karte zu haben.
Das Ganze sollte bei unterschiedlichen Bildschirmauflösungen funktionieren.
Sie können dies mithilfe der MapView tun MapController . Sie erhalten den MapController mit MapView .getController () , dann können Sie versuchen, den korrekten Zoom mit MapController.zoomToSpan () einzustellen. Ich neige dazu, ItemizedOverlay's getLatSpanE6 () und getLonSpanE6 () zu verwenden, um dies einfacher zu machen. Ein Beispiel:
%Vor%Es ist wichtig, ihren Vorbehalt zu beachten:
Weil der Zoom nur erreichen kann diskrete Ebenen, und weil die Das Seitenverhältnis der Karte stimmt möglicherweise nicht überein das Verhältnis gegeben, die Qualität der Passform kann variieren. Das einzige, was wir tun Garantie ist, dass nach dem Zoom, um mindestens einer der neuen Breite oder der Neue Länge wird innerhalb eines Faktors liegen von 2 aus dem entsprechenden Parameter.
Bearbeiten: Damit die Karte auch an der richtigen Stelle zoomen kann, müssen Sie MapController.setCenter () verwenden.
So sollte es gemacht werden:
%Vor%Referenz: moveCamera mit CameraUpdateFactory.newLatLngBounds stürzt ab
Es gibt einen weiteren einfachen Weg, mit dem Sie alle kartenbezogenen Aktivitäten durchführen können:
Tags und Links java android google-maps zoom