在我的應用程序中,我在Google地圖上使用標記顯示地點。但是,我正在標記所有可用的地方,我不想這樣做。我想顯示其僅通過取得地圖嵌入到屏幕上的位置座標,如下圖所示:Android - 如何從地圖視圖獲取地圖座標
我只想通過發送座標獲取是在這個範圍內從源可用的地方的地圖。我不確定我是否應該從屏幕的角落捕捉所有4座標?
任何人都可以幫我弄清楚這個嗎?
在我的應用程序中,我在Google地圖上使用標記顯示地點。但是,我正在標記所有可用的地方,我不想這樣做。我想顯示其僅通過取得地圖嵌入到屏幕上的位置座標,如下圖所示:Android - 如何從地圖視圖獲取地圖座標
我只想通過發送座標獲取是在這個範圍內從源可用的地方的地圖。我不確定我是否應該從屏幕的角落捕捉所有4座標?
任何人都可以幫我弄清楚這個嗎?
您可以使用此方法得到那些:
yourMapView.getMap().getCameraPosition();
這將返回一個對象。相機的座標由字段目標和由字段縮放給出。現在你應該能夠計算屏幕邊角的近似座標。
要獲取地圖的左上和BottomRight座標在任何時間,使用以下命令:
public GeoPoint getCurrentTL(MapView map){
Projection pr = map.getProjection();
return pr.fromPixels(0, 0);
}
public GeoPoint getCurrentBR(MapView map){
Projection pr = map.getProjection();
return pr.fromPixels(map.getWidth(), map.getHeight());
}
感謝您的答案。看看你有沒有評論Zarkoas的答案。 –
所以,這是一個老問題,但這裏有一個勁取在這個問題上。
你可以要求可見區域時,地圖上向上(可見)具有:
VisibleRegion vRegion = mMap.getProjection().getVisibleRegion();
LatLng upperLeft = vRegion.farLeft
LatLng lowerRight = vRegion.nearRight;
的另一種方式,我們可以使用LatLngBounds。它返回2分:東北和西南。
VisibleRegion vRegion = mMap.getProjection()。getVisibleRegion();
LatLng southwest = vRegion.latLngBounds.southwest;
LatLng northeast = vRegion.latLngBounds.northeast;
https://developers.google.com/maps/documentation/android-api/views
感謝Zarkaos。我仍然不知道該怎麼辦?這個鏈接有什麼可以幫助我。 http://stackoverflow.com/questions/10985487/android-opengl-es-2-0-screen-coordinates-to-world-coordinates –
我不是在Android中使用地圖的專家:但您的鏈接似乎適用於OpenGl的不同情況。我不眨眼,你可以在你的應用程序中使用它.. – ZarkDev
好的。獲得攝像頭位置後,我怎樣才能將其解析爲緯度值?因爲我想我應該比較這個經緯度值與我的數據庫中的其他地方緯度經度值。 –