2012-12-20 6 views
6

Ich benutze Android Google Maps Api V2 (nicht MapView oder MapActivity) und ich habe Schwierigkeiten, die Koordinaten für das Zentrum der Karte zu bekommen.Android Google Maps Api V2, Abrufen der Koordinaten für das aktuelle Kartencenter

Ich dachte an

mit
@Override 
public void onCameraChange(CameraPosition arg0) { 
    // TODO Auto-generated method stub 
    geoCodeCenter(/*Location object*/); 
} 

aber ich kann nicht die lat/long vom Camera Objekt erhalten. Die Kamera hat auch mehr Dimensionen, da Sie die Karte jetzt auch in verschiedenen Abständen betrachten können. Daher ist es nicht dasselbe, den Mittelpunkt von Breiten-/Längengrad zu erhalten, da der Benutzer nicht garantiert aus der Vogelperspektive auf die Karte schaut , es sei denn, bestimmte Gesten sind deaktiviert.

Gibt es einen besseren Weg, dies zu tun? Ich möchte nicht, dass der Benutzer lange auf einen Marker klicken muss, um ihn auf die Karte zu ziehen. Ich möchte, dass er einfach weiß, wo sich die Mitte der Karte befindet, indem der Benutzer sie herumschiebt.

Die Methode map.getMyLocation() ist für etwas anderes, wie die aktuelle LocationProvider-Position. Auch nicht scheinbar die Möglichkeit, ungeachtet der Tatsache, dass ich bin mit GPS und es gibt immer noch null

Antwort

14

aber ich kann nicht die lat/long vom Camera Objekt

Die target public data member auf eine CameraPosition bekommen ist ein LatLng des Kartenzentrums, basierend auf meiner Lektüre der Dokumente.

+0

sehr cool, ja das hat funktioniert – CQM

+1

LatLng latLng = googleMap.getCameraPosition(). Target; Es hat funktioniert, danke. –

+0

es ist nicht unbedingt in der Mitte des sichtbaren Bereichs wegen der Mercator-Projektion, wissen Sie, wie der tatsächliche Mittelpunkt des sichtbaren Bereichs zu berechnen? – feisal