产品服务
解决方案
文档与支持
定价
高级功能
下载开发文档
车牌相关

支持设置驾车、新能源车牌,需要在算路前设置。

1. 设置车牌
const carInfo = new BNAbilityPlateNumberInfo('粤', 'A00000', -1, -1, -1) //车牌信息可见3. 车牌信息
this.sdkService.routePlan.setPlateNumberInfo(carInfo)
2. 获取车牌
const carInfo: BNAbilityPlateNumberInfo = this.sdkService.routePlan.getPlateNumberInfo()
3. 车牌信息
class BNAbilityPlateNumberInfo {
province: string //省份, 例如'粤'
numberPlate: string //车牌号, 例如'A00000'
powerType: BNPlateNumberCarPowerType = BNPlateNumberCarPowerType.non //车辆能源类型
carType: BNPlateNumberCarType = BNPlateNumberCarType.non //是否皮卡类型
etcInfo: BNPlateNumberETCInfo = BNPlateNumberETCInfo.non //是否支持etc信息
constructor(province: string, numberPlate: string, powerType: BNPlateNumberCarPowerType = BNPlateNumberCarPowerType.non, carType: BNPlateNumberCarType = BNPlateNumberCarType.non, etcInfo: BNPlateNumberETCInfo = BNPlateNumberETCInfo.non) {}
}
enum BNPlateNumberCarPowerType {
non = -1, //未知
fuelVehicle, //油车
electricVehicle, //纯电
hybridElectricVehicle //混动
}
enum BNPlateNumberCarType {
non = -1, //未知
nonPickUpTruck, //非皮卡车
pickUpTruck //皮卡车
}
enum BNPlateNumberETCInfo {
non = -1, //未知
enable, //有ETC
unable //没有ETC
}
偏好

支持设置算路偏好,需要在算路前设置。

1. 设置算路偏好
const prefers: number[] = [1]; //偏好值可使用枚举,可参考3.偏好枚举
this.sdkService.routePlan.setRoutePrefers(prefers)
2. 获取算路偏航
const prefers: number[] = this.sdkService.routePlan.getRoutePrefers()
3. 偏好枚举
enum BNRoutePreferStatus {
RECOMMEND = 0X00000001, // 智能推荐 1
NO_HIGHWAY = 0X00000004, // 不走高速 4
LESS_CHARGE = 0X00000008, // 少收费 8
AVOID_JAM = 0X00000010, // 少拥堵 16
TIME_FIRST = 0X00000100, // 时间优先 256
HIGHWAY_FIRST = 0X00000200, // 高速优先 512
}
4. 偏好多选规则

偏好支持双选,多选规则如下:YES表示支持多选组合,NO表示不支持多选

路线偏好选择智能推荐躲避拥堵时间优先少收费不走高速高速优先
智能推荐------
躲避拥堵NO-----
时间优先NOYES----
少收费NOYESYES---
不走高速NOYESYESYES--
高速优先NOYESYESNONO-

三选组合仅支持:躲避拥堵+少收费+不走高速

路线相关
1. 设置当前路线

算路结果会根据实际情况存在会返回多条路线的情况,算路结果返回后需要设置当前路线,或者可支持用户操作切换当前路线

切换路线有两种方式:
const result: BNIRouteItem[] = xxxxxx //算路结果返回的数据,需要设置算路结果中的第一天路线为当前路线时:
方式1:根据路线在路线结果数组中的下标索引进行设置
this.sdkService.routePlan.selectRoute(result[0].idx)
or
this.sdkService.routePlan.selectRoute(0)
方式2:根据路线的mrsl(唯一标识字符串)进行设置
this.sdkService.routePlan.selectRouteByMrsl(0, result[0].mrsl)
2. 获取当前路线的下标索引
const idx = this.sdkService.routePlan.getSelectRouteIdx() //-1表示获取失败
图区相关
1. 地图(导航)模式

设置地图(导航)模式,针对不同的模式会有不同的展示策略。 当前仅支持Normal 驾车导航场景, Route 导航路线(算路)页场景;导航页组件内部会设置成Normal模式, 如果需要实现算路结果页展示路线,需设置为Route。

this.sdkService.map.setNaviMode(BNAbilityNaviMode.Route) //仅支持Normal 和 Route
/** 导航模式 */
export enum BNAbilityNaviMode {
Invalid = 0, //未定义
Normal = 1, //普通导航
Route = 5, //驾车路线页
}
2. 路况显隐

设置是否显示路况,即地图是否显示拥堵情况。

this.sdkService.map.showTrafficMap(true) //设置是否显示路况, true为显示,false为隐藏
3. 路线(蚯蚓)显隐

设置算路的路线(蚯蚓)的显示与隐藏,通常在开始算路之前设置隐藏,算路成功之后设置显示。 注意:如果在发起导航之前设置了隐藏蚯蚓,那么在发起导航时需要设置蚯蚓展示,否则在导航页看不到蚯蚓。

const show: boolean = true //是否显示路线图层,true表示显示,false表示隐藏。
const isAnimation: boolean = false //是否启用动画效果,非必要的情况下传false
this.sdkService.map.showRouteLayer(show, isAnimation);
4. 浏览态

设置地图是否浏览态,true为浏览态,false为非浏览态。处于浏览态时,可手势操作地图,否则地图不可操作,显示车标在内的固定区域。

this.sdkService.map.setBrowseStatus(true)
5. 全览展示模式

全图展示模式,常见的使用场景:导航路线页需要设置路线居中且全图展示,展示路线全貌

const isAnimation: boolean = false //是否启用动画效果
this.sdkService.map.naviModeZoomToFullView(isAnimation);
6. 绿框范围

绿框范围:地图中导航相关元素在地图的显示区域;BNEngineEdgeInsets中left, top, right, bottom 单位为px

this.sdkService.map.updateMapShowScreenRect(new BNEngineEdgeInsets(10,10,1250,2050)) //请根据实际UI布局情况来设置,单位px
7. 蓝框范围

蓝框范围:在绿框设置了显示区域后,需要设置上层UI组件的大小范围,即蓝框范围,地图中导航相关元素在地图上绘制时会避让蓝框的区域范围,防止遮挡。

this.sdkService.map.updateUIViewBound([new BNEngineEdgeInsets(10,10,100,400)]) //请根据实际情况获取UI组件的范围,单位px

上一篇

基础功能

下一篇

TTS语音播报

本篇文章对您是否有帮助?