导航设置分为普通导航设置和专业导航设置两部分,
普通导航IBNOuterSettingManager.IBNCommonSetting 中可设置的接口如下:
/** * 通用设置 */ interface IBNCommonSetting { /** * 是否开启途径点点击删除事件 * @param isClick */ void setNodeClick(boolean isClick); /** * 获取是否开启途径点点击删除事件 * @return */ boolean isNodeClick(); /** * 设置是否开启多路线 * * @param isMultiRoute 为true开启多路线,false关闭多路线 */ void setMultiRouteEnable(boolean isMultiRoute); /** * 获取是否开启了多路线 * * @return */ boolean isMultiRouteEnable(); /** * 定制化起点、终点、当前位置icon * * @param pngBitmap * @param imageType 类型: * {@linkplain DIYImageType#CarLogo} 车标 * {@linkplain DIYImageType#StartPoint} 路线起点 * {@linkplain DIYImageType#EndPoint} 路线终点 * * @return */ boolean setDIYImageToMap(Bitmap pngBitmap, int imageType); /** * 途径点icon设置 * @param pngBitmaps 图片数据list * @param index 数据索引 绘制途径点时会从 index 中根据传入的图片索引值取 imageArray 数据列表的图片数据进行绘制 * @return */ boolean setDIYImageToMap(List<Bitmap> pngBitmaps, int[] index); /** * 刷新底图 * @param layerType * @return */ boolean updateLayer(int layerType); /** * 定制化3D车标 * @param bitmapList 3D车标列表 * @return */ boolean set3DCarImageToMap(List<Bitmap> bitmapList); /** * 清除定制icon * * @param imageType 类型: * {@linkplain DIYImageType#CarLogo} 车标 * {@linkplain DIYImageType#StartPoint} 路线起点 * {@linkplain DIYImageType#EndPoint} 路线终点 * {@linkplain DIYImageType#CarLogo3D} 3D车标 * * @return */ boolean clearDIYImage(int imageType); /** * 设置起点、终点、当前位置显示状态 * * @param status * @param imageType 类型: * {@linkplain DIYImageType#CarLogo} 车标 * {@linkplain DIYImageType#StartPoint} 路线起点 * {@linkplain DIYImageType#EndPoint} 路线终点 * * @return */ boolean setDIYImageStatus(boolean status, int imageType); /** * 设置算路偏好 * * @param mode 算路偏好类型: * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_INVALID} 无效值 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_DEFAULT} 默认,智能推荐 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_NOHIGHWAY} 少走高速 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_NOTOLL} 少收费 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_AVOID_TRAFFIC_JAM} 躲避拥堵 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_CAR_NUM} 使用车牌 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_DISTANCE_FIRST} 距离最短,距离优先 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_TIME_FIRST} 时间最短,时间优先 * {@linkplain NeRoutePlanPreference#ROUTE_PLAN_PREFERENCE_ROAD_FIRST} 大路优先,高速优先 * * @return */ boolean setRouteSortMode(int mode); /** * 获取当前算路偏好 * * @return */ int getRouteSortMode(); /** * 设置普通车辆车牌 * * @param carNum 完整车牌,如:"粤B66666" */ void setCarNum(String carNum); /** * 设置普通车辆车牌 * * @param carNum 完整车牌,如:"粤B66666" * @param powerType 能源类型 {@linkplain CarPowerType} */ void setCarNum(String carNum, int powerType); /** * 设置新能源默认车牌 * * @param carNum 完整车牌,如:"粤B66666" */ void setEnergyDefaultPlate(String carNum); /** * 设置充电偏好 */ void setChargingPreferInfo(BNChargingPreferInfo info); /** * 设置货车信息 */ void setTruckInfo(BNTruckInfo truckInfo); /** * 设置摩托车信息 */ void setMotorInfo(BNMotorInfo motorInfo); /** * 设置最大途径点的个数(支持4~18个) */ void setViaPointCount(int count); /** * 偏航时路线模式 * 0 默认策略 1 偏航路线api提供 2 偏航回进入导航时选的路线 */ void setYawingUseUserData(int yawMode); /** * 停止百度导航对系统的定位监听 */ void stopLocationMonitor(); /** * 设置是否需要连接算路测试环境 */ void setTestEnvironment(boolean isTest, String url); /** * 货车算路是否开启限行 * @param b */ void setTruckLimitSwitch(boolean b); /** * 货车算路是否开启限重 * @param b */ void setTruckWeightLimitSwitch(boolean b); /** * 开启车道级导航模拟 * @param b */ void hdnaviOpen(boolean b); }
专业导航IBNOuterSettingManager.IBNProfessionalNaviSetting 可设置的接口如下:
/** * 专业导航设置 */ interface IBNProfessionalNaviSetting { /** * 设置专业导航视角 * * @param mode 视角类型: * {@linkplain NaviPerspectiveMode#CAR_3D} 跟随车头模式 * {@linkplain NaviPerspectiveMode#NORTH_2D} 正北朝上模式 * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setGuideViewMode(int mode, int vehicle); /** * 获取当前专业导航视角类型 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ int getGuideViewMode(int vehicle); /** * 设置专业导航日夜模式 * * @param mode 日夜模式: * {@linkplain DayNightMode#DAY_NIGHT_MODE_AUTO} 自动切换白天黑夜模式 * {@linkplain DayNightMode#DAY_NIGHT_MODE_DAY} 日间模式 * {@linkplain DayNightMode#DAY_NIGHT_MODE_NIGHT} 夜间模式 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setDayNightMode(int mode, int vehicle); /** * 获取当前设置的日夜模式类型 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ int getDayNightMode(int vehicle); /** * 设置专业导航右下角图面显示类型 * * @param mode 显示类型: * {@linkplain PreViewMode#MapMini} 全览小窗 * {@linkplain PreViewMode#RoadBar} 路况条 * {@linkplain PreViewMode#NoAll} 不显示 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setFullViewMode(int mode, int vehicle); /** * 获取专业导航右下角图面显示类型 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ int getFullViewMode(int vehicle); /** * 设置专业导航比例尺是否智能缩放 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @param isAutoScale 为true则设置智能缩放,false不设置 */ void setAutoScale(boolean isAutoScale, int vehicle); /** * 获取当前是否设置专业导航比例尺智能缩放 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ boolean isAutoScale(int vehicle); /** * 设置专业导航是否显示车标到终点红色连线 * * @param showCarLogoToEndRedLine 为true则设置连线,false不设置 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setShowCarLogoToEndRedLine(boolean showCarLogoToEndRedLine, int vehicle); /** * 获取当前是否设置车标到终点红色连线 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ boolean isShowCarLogoToEndRedLine(int vehicle); /** * 设置专业导航是否显示路口放大图 * * @param showRoadEnlargeView 为true则设置显示放大图,false不设置 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setShowRoadEnlargeView(boolean showRoadEnlargeView, int vehicle); /** * 获取当前是否显示路口放大图 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} * * @return */ boolean isShowRoadEnlargeView(int vehicle); /** * 设置到达目的地时,导航是否自动退出 */ void setIsAutoQuitWhenArrived(boolean auto); boolean isAutoQuitWhenArrived(); /** * 获取实时路况是否开启 * * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ boolean isRealRoadConditionOpen(int vehicle); /** * 设置实时路况是否开启 * @param open */ void setRealRoadCondition(boolean open); /** * 设置播报模式 * @param voiceMode * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ void setVoiceMode(int voiceMode, int vehicle); /** * 获取播报模式 * @param vehicle 车辆类型: * {@linkplain IBNRoutePlanManager.Vehicle} */ int getVoiceMode(int vehicle); /** * 设置是否显示主辅路和高架桥按钮 * @param show */ void setShowMainAuxiliaryOrBridge(boolean show); /** * 获取是否显示主辅路和高架桥按钮 */ boolean isShowMainAuxiliaryOrBridge(); /** * 设置导航底图车标偏移,仅针对专业导航Car3D竖屏模式有效,,底图中心为(0, 0)原点 * * @param xOffset 导航底图车标x偏移量,> 0时往右偏移,单位:像素 * @param yOffset 导航底图车标y偏移量,< 0时往下偏移,单位:像素 */ void setCarIconOffsetForNavi(int xOffset, int yOffset); /** * 设置专业导航全览时路线距离屏幕边距 * * @param left 左边距,路线全览左侧边距,单位px * @param top 上边距,路线全览上侧边距,单位px * @param right 右边距,路线全览右侧边距,单位px * @param bottom 下边距,路线全览下侧边距,单位px */ void setFullViewMarginSize(final int left, final int top, final int right, final int bottom); /** * 设置点击退出导航按钮是否生效 */ void setQuitNaviEnable(boolean enable); /** * 获取点击退出导航按钮是否生效 */ boolean isQuitNaviEnable(); /** * 路线偏好功能入口是否开放 * 注意:进专业导航之前设置生效,且是单次生效 */ void enableRouteSort(boolean enable); /** * 沿途检索功能入口是否开放 * 注意:进专业导航之前设置生效,且是单次生效 */ void enableRouteSearch(boolean enable); /** * 底部bar是否支持展开 * @param enable */ void enableBottomBarOpen(boolean enable); /** * 设置导航中底部右边更多按钮是否显示 * @param enable */ void setBottomMoreBtnEnable(boolean enable); /** * 获取底部bar是否支持展开 */ boolean isBottomBarOpen(); /** * 更多设置功能入口是否开放 * 注意:进专业导航之前设置生效,且是单次生效 */ void enableMoreSettings(boolean enable); /** * 设置进导航时是否全览,默认为不全览 * 该全览只是5s全览,随后会进入导航态 * @param fullView true 全览 */ void setStartByFullView(boolean fullView); /** * 偏航提示音开关 */ void setYawSoundEnable(boolean enable); /** * 设置ugc按钮是否显示 */ void setUgcButtonEnable(boolean enable); /** * 设置当前路名是否显示 */ void setRoadNameEnable(boolean enable); /** * 获取当前路名是否显示 */ boolean isRoadNameEnable(); /** * 设置车道线是否显示 */ void setLaneLineEnable(boolean enable); /** * 获取车道线是否显示 */ boolean isLaneLineEnable(); /** * 设置区间测速是否显示 */ void setMeasurementEnable(boolean enable); /** * 获取区间测速是否显示 */ boolean isMeasurementEnable(); /** * 设置高速面板是否显示 */ void setHighwayEnable(boolean enable); /** * 获取高速面板是否显示 */ boolean isHighwayEnable(); /** * 设置路况按钮是否显示 */ void setRoadConditionButtonVisible(boolean enable); /** * 获取路况按钮是否显示 */ boolean isRoadConditionButtonVisible(); /** * 设置导航播报按钮是否显示 */ void setVoiceButtonVisible(boolean enable); /** * 获取导航播报按钮是否显示 */ boolean isVoiceButtonVisible(); /** * 设置路线刷新按钮是否显示 */ void setRefreshButtonVisible(boolean enable); /** * 获取路线刷新按钮是否显示 */ boolean isRefreshButtonVisible(); /** * 设置地图缩放按钮是否显示 */ void setZoomButtonVisible(boolean enable); /** * 获取地图缩放按钮是否显示 */ boolean isZoomButtonVisible(); /** * 设置模拟导航退出按钮是否显示 */ void setAnalogQuitButtonVisible(boolean enable); /** * 获取模拟导航退出按钮是否显示 */ boolean isAnalogQuitButtonVisible(); /** * 设置模拟导航速度按钮是否显示 */ void setAnalogSpeedButtonVisible(boolean enable); /** * 获取模拟导航速度按钮是否显示 */ boolean isAnalogSpeedButtonVisible(); /** * 设置模拟导航开关按钮是否显示 */ void setAnalogSwitchButtonVisible(boolean enable); /** * 获取模拟导航开关按钮是否显示 */ boolean isAnalogSwitchButtonVisible(); /** * 设置限行面板是否显示 */ void setAvoidanceReminderVisible(boolean enable); /** * 获取限行面板是否显示 */ boolean isAvoidanceReminderVisible(); /** * 设置导航中限行消息是否显示 */ void setAvoidanceNotificationVisible(boolean enable); /** * 获取导航中限行消息是否显示 */ boolean isAvoidanceNotificationVisible(); /** * 设置专业导航使用旧版设置 * @param b */ void useOldSetting(boolean b); /** * 获取是否使用旧版设置 * @return */ boolean isUseOldSetting(); /** * 设置导航设置按钮是否显示 */ void setSettingButtonVisible(boolean enable); /** * 获取导航设置按钮是否显示 */ boolean isSettingButtonVisible(); }