场景:
在地图页面,根据不同的场景动态控制是否显示定位小蓝点。
问题:
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();}}