2014-01-17 87 views
0

的中心,我使用com.google.android.maps.v2得到一個谷歌地圖

我正在尋找一種方式來獲得地圖的可視區域的中心的經緯度。

CustomMapFragment cusMapFrag;  
GoogleMap _map; 

在我onCreate設置像這樣:

cusMapFrag = ((CustomMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map));  
_map = cusMapFrag.getMap(); 

我認爲我使用能說_map.getCenter();那會返回一個拉特和長的地圖視圖端口的中心。

我曾嘗試:_map.getProjection().getVisibleRegion()....但似乎沒有成爲一個center只:nearLeftnearRightfarLeft,並farRight

誰能告訴我怎樣能得到lat和長的中心可見的地圖?

回答

0

好了,所以在我的情況下,地圖是全屏幕,我知道我的顯示寬度,高度和中心。所以這適用於我:LatLng mapCenterLatLng = _map.getProjection().fromScreenLocation(centerOfScreen);

2

你試試這個它取決於像素希望它能幫助你

GeoPoint mapCenter = cusMapFrag.getProjection().fromScreenLocation(
    mapView.getWidth()/2, 
    mapView.getHeight()/2); 
int lat = mapCenter.getLatitudeE6(); 
int lon = mapCenter.getLongitudeE6(); 

這種方法你可以在地圖上的點

Point myPoint = toScreenLocation(LatLng) ; 
+0

它應該是'cusMapFrag'而不是'mapView'。他正在使用'MapFragment'或'SupportMapFragment'。 – Emmanuel

+0

沒有from_ixels方法可用於_map.getProjection()並且沒有getProjection()從mapFragment – erik

+0

@erik第一次是谷歌地圖版本1,此方法已被棄用,並且我編輯了與谷歌地圖版本2的新版本的答案 –