显示模式与视角 最后更新时间: 2024年11月10日
显示模式
导航界面的显示模式分为:
- 锁车态:地图图面一直跟着定位位置的改变而移动,又由于自车图标也在移动,两者相互抵消,视觉上会感觉自车图标被锁在屏幕的一个固定的点上;
- 全览态:地图的中心点和缩放层级都调整到合适的值来让整条路线都显示在可见区域内;
- 普通态:地图图面一直不动,只有自车图标在移动。
通过 AMapNaviViewOptions 中接口设置锁车相关配置。
/**
* 设置自动锁车逻辑开关
* @param autoLockCar true代表自动锁车,false代表不自动锁车
*/
public void setAutoLockCar(boolean autoLockCar)
/**
* 设置是否自动全览模式,即在算路成功后自动进入全览模式
* @param isAutoDisplay
* @since 6.2.0
*/
public void setAutoDisplayOverview(boolean isAutoDisplay)
/**
* 设置自动锁定地图延迟毫秒数。
* @param lockMapDelayed 延迟毫秒。
*/
public void setLockMapDelayed(long lockMapDelayed)
注意
AMapNaviViewOptions.setAutoDisplayOverview()方法在新版本中不建议使用,可通过AMapNaviView.setShowMode()来动态设置模式。
通过 AMapNaviView 控制显示模式 。
/**
* 设置导航页面显示模式
*
* @param showMode 1-锁车态 2-全览态 3-普通态
* @since 7.4.0
*/
public void setShowMode(int showMode)
注意
自定义 View 组件默认使用引擎处理路口大图,因此需要调用setEyrieCrossDisplay()方法,为false时才会回调给外部,否则默认都是内部处理。
AMapNaviViewOptions opts = mAMapNaviView.getViewOptions();
opts.setEyrieCrossDisplay(false);
mAMapNaviView.setViewOptions(opts);
通过 AMapNaviViewListener 类监听显示模式变化。
/**
* 导航视图展示模式变化回调
* @param showMode 展示模式,具体类型可参考{@link com.amap.api.navi.enums.AMapNaviViewShowMode}
* @since 6.2.0
*/
void onNaviViewShowMode(int showMode)
车头朝向
导航界面的车头朝上、正北朝上
通过 AMapNaviView 类调整车头朝向。
/**
* 设置车头朝向
* @param mode 车头朝向
* 0-CAR_UP_MODE 车头朝上模式
* 1-NORTH_UP_MODE 正北朝上模式
* @since 1.7.0
*/
public void setNaviMode(int mode)
通过 AMapNaviViewListener 监听车头朝向变化。
/**
* 导航视角变化回调
* @param naviMode 导航视角,0:车头朝上状态;1:正北朝上模式。
*/
void onNaviMapMode(int naviMode);
提示
AMapNaviView 暂不支持 scrollBy 按像素操作。