2011-04-25 138 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);