高德地图把多个点正好放置在屏幕中(记录下)

不羁的心 提交于 2020-02-19 06:43:51

通过:aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 150));来实现
newLatLngBounds(bounds, 150) :一参数:LatLngBounds创建一个矩形范围,二参数:padding值

代码:

        ★★★遍历出集合中的最大最小经纬度★★★
        double maxLat = latLngList.get(0).latitude;
        double minLat = latLngList.get(0).latitude;
        double maxLon = latLngList.get(0).longitude;
        double minLon = latLngList.get(0).longitude;
        for (int i = 0; i < latLngList.size(); i++) {
            if (maxLat < latLngList.get(i).latitude) {
                maxLat = latLngList.get(i).latitude;
            }
            if (minLat > latLngList.get(i).latitude) {
                minLat = latLngList.get(i).latitude;
            }
            if (maxLon < latLngList.get(i).longitude) {
                maxLon = latLngList.get(i).longitude;
            }
            if (minLon > latLngList.get(i).longitude) {
                minLon = latLngList.get(i).longitude;
            }
        }
        ★★★LatLngBounds接收两个LatLng,第一个是最小的维度与经度;第二个是最大的维度与经度★★★
        LatLngBounds bounds = new LatLngBounds(new LatLng(minLat, minLon), new LatLng(maxLat, maxLon));
        aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 150));
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!