示例中心
功能在线体验
menu 导航 closed 关闭

高德 开发 iOS 导航SDK 开发指南 UI界面定制 显示模式与跟随模式

更新时间:2020年10月21日

UI界面定制是指:AMapNaviDriveView、AMapNaviWalkView和AMapNaviRideView中的图面元素,以及界面中的UI控件都支持定制化修改,以便您做出独一无二,符合您业务需求和App风格的导航界面。以下,以AMapNaviDriveView为例。 

显示模式

导航界面的显示模式分为:

  • 锁车态:地图图面一直跟着定位位置的改变而移动,又由于自车图标也在移动,两者相互抵消,视觉上会感觉自车图标被锁在屏幕的一个固定的点上;
  • 全览态:地图的中心点和缩放层级都调整到合适的值来让整条路线都显示在可见区域内;
  • 普通态:地图图面一直不动,只有自车图标在移动。


可以通过以下接口设置显示模式,支持导航中动态更新。

///驾车导航界面显示模式
typedef NS_ENUM(NSInteger, AMapNaviDriveViewShowMode)
{
    AMapNaviDriveViewShowModeCarPositionLocked = 1, ///< 锁车状态
    AMapNaviDriveViewShowModeOverview = 2,          ///< 全览状态
    AMapNaviDriveViewShowModeNormal = 3,            ///< 普通状态
};

///导航界面显示模式,默认AMapNaviDriveViewShowModeCarPositionLocked
@property (nonatomic, assign) AMapNaviDriveViewShowMode showMode;

不仅开发者可以自行设置showMode,SDK内部也会根据用户的操作,设置showMode,比如用户点击“全览”按钮时。所以 showMode值更新时,<AMapNaviDriveViewDelegate>协议会有如下回调:  

/**
 * @brief 导航界面显示模式改变后的回调函数
 * @param driveView 驾车导航界面
 * @param showMode 显示模式
 */
- (void)driveView:(AMapNaviDriveView *)driveView didChangeShowMode:(AMapNaviDriveViewShowMode)showMode;

跟随模式

导航界面的跟随模式,分为车头朝上、正北朝上。

可以通过以下接口进行设置,支持导航中动态更新。 

///导航界面跟随模式,默认AMapNaviViewTrackingModeMapNorth
@property (nonatomic, assign) AMapNaviViewTrackingMode trackingMode;

trackingMode值更新时,<AMapNaviDriveViewDelegate>协议会有如下回调: 

/**
 * @brief 驾车导航界面跟随模式改变后的回调函数. since 6.2.0
 * @param driveView 驾车导航界面
 * @param trackMode 跟随模式
 */
- (void)driveView:(AMapNaviDriveView *)driveView didChangeTrackingMode:(AMapNaviViewTrackingMode)trackMode;
新用户
福利
示例
中心
常见
问题