我检查了几个问题(this one,this one和this one)
有关将谷歌地图缩放到Android中的给定Polygon
或List<LatLng>
,但我还没有找到答案。
功能是什么
public static int getZoomLevelForPolygon(final List<LatLng> listOfPolygonCoordinates)
答案 0 :(得分:0)
好的我觉得我设法找到了解决方案:
首先,我们生成一个可以适合多边形的最小矩形,也称为LatLngBounds
对象。然后,我们移动相机以适合作为参数提供的LatLngBounds
。
主要电话:
final int POLYGON_PADDING_PREFERENCE = 200;
final LatLngBounds latLngBounds = getPolygonLatLngBounds(polygon);
googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, POLYGON_PADDING_PREFERENCE));
辅助功能:
private static LatLngBounds getPolygonLatLngBounds(final List<LatLng> polygon) {
final LatLngBounds.Builder centerBuilder = LatLngBounds.builder();
for (LatLng point : polygon) {
centerBuilder.include(point);
}
return centerBuilder.build();
}