Auto-Größe Zoom auf Google Maps in Java? (abhängig von der Android Bildschirmauflösung)

8

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.

    
poeschlorn 19.04.2010, 11:21
quelle

2 Antworten

9

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.

    
Daniel Lew 19.04.2010, 14:17
quelle
0

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:

Ссылка

    
TharakaNirmana 09.12.2013 07:39
quelle

Tags und Links