Android 高德地图 实时动态控制显示定位小蓝点解决方案

场景:
在地图页面,根据不同的场景动态控制是否显示定位小蓝点。
问题:
Android 高德地图 动态控制显示定位小蓝点
解决方案:
我们发现高德地图提供了响应的api来控制是否显示定位小蓝点。但是按照提供的方法设置完成之后,并不能实现实时动态控制是否显示小蓝点的效果。

是否显示定位蓝点
控制是否显示定位蓝点
Java
//方法自5.1.0版本后支持
MyLocationStyle showMyLocation(boolean visible)//设置是否显示定位小蓝点,用于满足只想使用定位,不想使用定位小蓝点的场景,设置false以后图面

经过一系列尝试,发现设置完显示效果后,需要重新进行一次定位操作,设置才会生效

/**
     * 设置定位蓝点显示
     */
    public void setLocationStyleShow() {
        try {
            if (mAMap != null) {
                mAMap.getMyLocationStyle().showMyLocation(true);
                //连续定位、蓝点不会移动到地图中心点,定位点依照设备方向旋转,并且蓝点会跟随设备移动。
                mAMap.getMyLocationStyle().myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER);
                TagUtil.i("地图定位蓝点:显示");
                //进行一次定位,设置的效果才会生效
                if (mMapUtil != null) {
                    mMapUtil.startLocation();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 设置定位蓝点隐藏
     */
    public void setLocationStyleHide() {
        try {
            if (mAMap != null) {
                mAMap.getMyLocationStyle().showMyLocation(false);
                TagUtil.i("地图定位蓝点:隐藏");
                //进行一次定位,设置的效果才会生效
                if (mMapUtil != null) {
                    mMapUtil.startLocation();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

你可能感兴趣的:(Android初级篇)