2012-12-20 2 views
6

Я использую Android Google Maps Api V2 (не MapView или MapActivity), и мне трудно получить координаты для центра карты.Android Google Maps Api V2, получая координаты для текущего центра карты

Я думал об использовании

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

, но я не могу получить широту/долготу от объекта CameraPosition. камера также имеет больше размеров, так как теперь вы можете смотреть на карту на разных площадках, поэтому получение центра по широте/долготе не является тем же, поскольку пользователю не гарантировано смотреть на карту с высоты птичьего полета , если определенные жесты не отключены.

Есть ли лучший способ сделать это? Я не хочу, чтобы пользователь должен был долго щелкнуть маркер, чтобы перетащить его по карте, я хочу, чтобы они просто знали, где находится центр карты, пользователем, который ее панорамирует.

Метод map.getMyLocation() предназначен для чего-то еще, как и текущая позиция LocationProvider. Кроме того, не казалось бы, вариант, несмотря на то, что я использую GPS и она по-прежнему возвращает нуль

ответ

14

, но я не могу получить широту/долготу от объекта CameraPosition

target public data member на CameraPosition это LatLng центра карты, основанный на моем чтении документов.

+0

очень круто, да это сработало – CQM

+1

LatLng latLng = googleMap.getCameraPosition(). Target; Это сработало спасибо. –

+0

Это не обязательно в центре видимой области из-за проекции меркатора, знаете ли вы, как вычислить фактическую среднюю точку видимого региона? – feisal