2011-04-25 137 views
2

嗨 我在Android.where中使用Google地圖我正在繪製兩個GeoPoint之間的連線。我需要動態設置縮放級別,因爲兩點之間的距離會增加或減少。在谷歌Android地圖中自動設置縮放級別

等待您的回覆MapController

+0

我不熟悉谷歌地圖中的Android,但在JavaScript版本,如果您使用的LatLngBounds包含你的觀點,那麼你可以使用'map.fitBounds(邊界:LatLngBounds);'它會根據LatLngBounds點自動調整你的視圖。 – kjy112 2011-04-25 19:33:58

+0

這裏很好的回答[Reno](http://stackoverflow.com/users/68805/reno): http://stackoverflow.com/a/5242149/1839565 – Defoncesko 2013-01-24 17:33:50

回答

3

使用zoomToSpan()。根據你的點之間的距離計算跨度。如果你的點沒有居中,要麼考慮到這一點(通過增加所需的跨度)或重新映射地圖。

+0

我試過這個,但它不工作 – Altaf 2011-05-01 22:18:01

3

我找到了類似的解決方案。您可以使用CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, int padding)

下面是一個例子:

Builder boundsBuilder = LatLngBounds.builder(); 
ArrayList<LatLng> decodedPoints = (ArrayList<LatLng>) PolyUtil.decode(step); 
for (LatLng point : decodedPoints) { 
    boundsBuilder.include(point); 
} 
LatLngBounds bounds = boundsBuilder.build(); 
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 10); 
map.moveCamera(cameraUpdate);