Android中谷歌地图自动设置缩放级别

Android中谷歌地图自动设置缩放级别,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,嗨 我在Android中使用谷歌地图。我在两个地理点之间画了一条线。我需要随着两点之间距离的增加或减少动态设置缩放级别 等待您的答复在地图控制器上使用。根据点之间的距离计算跨度。如果您的点未居中,请考虑(通过增加所需的跨度)或重新居中地图。我发现了类似的解决方案。您可以使用CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds bounds,int padding) 以下是一个例子: Builder boundsBuilder = LatL

嗨 我在Android中使用谷歌地图。我在两个地理点之间画了一条线。我需要随着两点之间距离的增加或减少动态设置缩放级别


等待您的答复

地图控制器上使用
。根据点之间的距离计算跨度。如果您的点未居中,请考虑(通过增加所需的跨度)或重新居中地图。

我发现了类似的解决方案。您可以使用
CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds 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);
Builder boundsBuilder=LatLngBounds.Builder();
ArrayList decodedPoints=(ArrayList)PolyUtil.decode(步骤);
用于(LatLng点:解码点){
boundsBuilder。包括(点);
}
LatLngBounds bounds=boundsBuilder.build();
CameraUpdate CameraUpdate=CameraUpdateFactory.newLatLngBounds(边界,10);
地图移动摄像机(摄像机更新);

我不熟悉android中的谷歌地图,但在JavaScript版本中,如果您使用LatLngBounds来包含您的点,那么您可以使用
map.fitbunds(bounds:LatLngBounds),它会根据LatLngBounds点自动调整您的视图。下面是一个很好的答案: