在Android中的Google地图中自动设置缩放级别

时间:2011-04-25 19:24:49

标签: android google-maps google-maps-api-3

您好 我在Android.where中使用Google地图我在两个GeoPoints之间画一条线。我需要动态设置缩放级别,因为两点之间的距离会增加或减少。

等待你的回复

2 个答案:

答案 0 :(得分:3)

MapController上使用zoomToSpan()。根据点之间的距离计算跨度。如果您的点不居中,请将其考虑在内(通过增加所需的范围)或重新定位地图。

答案 1 :(得分: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);