Android 安卓:谷歌地图的缩放和定位算法
我有一个数组列表,每个数组都是我地图上的一个标记 列表可以有0到1到n个点。他们之间可能有距离,也可能没有距离 有人能帮助我,给定地图区域的高度(“h”dp)和宽度(“w”dp),确定:Android 安卓:谷歌地图的缩放和定位算法,android,algorithm,google-maps,google-maps-api-3,Android,Algorithm,Google Maps,Google Maps Api 3,我有一个数组列表,每个数组都是我地图上的一个标记 列表可以有0到1到n个点。他们之间可能有距离,也可能没有距离 有人能帮助我,给定地图区域的高度(“h”dp)和宽度(“w”dp),确定: 这个集合的“中心” 此集合的适当缩放级别(z),以便所有标记在大小为“h”乘以“w”的帧内可见,但(z+1)缩放级别不会显示所有点 要查找一组板条点的中心,请执行以下操作: LatLngBounds.Builder builder = new LatLngBounds.Builder(); for (LatLn
要查找一组板条点的中心,请执行以下操作:
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (LatLng point: pointSet) {
builder.include( point);
}
LatLngBounds bounds = builder.build();
LatLng centerPoint = bounds.getCenter();
至于缩放,最简单的方法是调用map.animate:
mapObj.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, PADDING_VALUE));
这保证将贴图设置为包含边界输入(加上填充)的最大缩放级别
如果您仍有兴趣了解所需的缩放级别:
float zoomLevel = mapObj.getCameraPosition().zoom; // call after(!) animateTo
检查这个答案