2012-12-20 10 views
6

Używam Androida Google Maps Api V2 (nie MapView lub MapActivity) i mam problemy z uzyskaniem współrzędnych środka mapy.Android Google Maps Api V2, uzyskiwanie współrzędnych bieżącego centrum map

Myślałem o użyciu

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

ale nie mogę uzyskać lat/long od obiektu CameraPosition. kamera ma również więcej wymiarów, ponieważ teraz możesz również patrzeć na mapę na różnych wysokościach, więc uzyskanie środka szerokości/długości geograficznej nie jest takie samo, ponieważ użytkownik nie ma gwarancji, że patrzy na mapę z widoku z lotu ptaka , chyba że niektóre gesty są wyłączone.

Czy jest lepszy sposób to zrobić? Nie chcę, aby użytkownik musiał długo klikać znacznik, aby przeciągnąć go po mapie, chcę, aby po prostu wiedzieli, gdzie znajduje się środek mapy, przez użytkownika, który je przesuwa.

Metoda map.getMyLocation() jest dla czegoś innego, jak aktualna pozycja LocationProvider. Również nie pozornie opcja, mimo że używam GPS i nadal zwraca null

Odpowiedz

14

ale nie mogę uzyskać lat/long od obiektu CameraPosition

target public data member na zasadzie CameraPosition to jest centrum danych w oparciu o moje czytanie dokumentów.

+0

bardzo fajnie, tak to działało – CQM

+1

LatLng latLng = googleMap.getCameraPosition() .cel; To zadziałało dzięki. –

+0

to niekoniecznie w centrum widocznego regionu z powodu projekcji mercator, czy wiesz, jak obliczyć rzeczywisty punkt środkowy widocznego regionu? – feisal