通过 BNSDKService.mapDIY 访问,管理地图上的自定义图标及元素显隐。
export enum BNDIYImageType {CarLogo = 0, // 车标StartPoint = 1, // 起点EndPoint = 2, // 终点DIY3DCar = 3, // 3D车标WayPoint = 4, // 途经点}
export interface BNIMapDIYInterface {setDIYImageShow(isShow: boolean, type: BNDIYImageType): void;setDIYImage(image: PixelMap | Resource | string, type: BNDIYImageType): Promise<boolean>;clearDIYImage(type: BNDIYImageType): void;setDIY3DImage(images: Array<PixelMap | Resource | string>, type: BNDIYImageType): Promise<boolean>;setDIYWayPointImages(images: Array<PixelMap | Resource | string>, indexes: number[]): Promise<boolean>;setShowTruckLimitElement(isShow: boolean): void;}
设置指定类型的自定义图标,起终点/车标等均可替换。
参数说明:
image — 图片资源,支持 PixelMap / Resource / string(rawfile 路径)
type — 图标类型,来自 BNDIYImageType 枚举
返回值: Promise<boolean>,异步返回设置结果
// 设置车标await sdkService.mapDIY.setDIYImage('car_logo.png', BNDIYImageType.CarLogo);// 设置起点图标await sdkService.mapDIY.setDIYImage($r('app.media.start_icon'), BNDIYImageType.StartPoint);// 设置终点图标await sdkService.mapDIY.setDIYImage('end_point.png', BNDIYImageType.EndPoint);
设置多方向 3D 车标图片序列,实现车标随方向旋转效果。
参数说明:
images — 图片数组,以正西方向为第一张,按顺时针排列
type — 必须为 BNDIYImageType.DIY3DCar
返回值: Promise<boolean>
const carImages = ['car_west.png', // 正西 270°'car_northwest.png', // 西北 315°'car_north.png', // 正北 0°'car_northeast.png', // 东北 45°'car_east.png', // 正东 90°'car_southeast.png', // 东南 135°'car_south.png', // 正南 180°'car_southwest.png', // 西南 225°];await sdkService.mapDIY.setDIY3DImage(carImages, BNDIYImageType.DIY3DCar);
批量设置途经点的自定义图标。
参数说明:
images — 图标数组,长度需与 indexes 相同
indexes — 途经点下标数组(从 0 开始)
返回值: Promise<boolean>
await sdkService.mapDIY.setDIYWayPointImages(['waypoint_1.png', 'waypoint_2.png'],[0, 2] // 设置第 0 和第 2 个途经点);
控制指定类型自定义图标的显示或隐藏,无需清除图标即可切换。
// 隐藏车标sdkService.mapDIY.setDIYImageShow(false, BNDIYImageType.CarLogo);// 显示起点图标sdkService.mapDIY.setDIYImageShow(true, BNDIYImageType.StartPoint);
清除指定类型图标,恢复为默认样式。
sdkService.mapDIY.clearDIYImage(BNDIYImageType.CarLogo);sdkService.mapDIY.clearDIYImage(BNDIYImageType.StartPoint);sdkService.mapDIY.clearDIYImage(BNDIYImageType.EndPoint);
控制货车导航模式下限行元素的显示或隐藏。
// 显示货车限行元素sdkService.mapDIY.setShowTruckLimitElement(true);// 隐藏sdkService.mapDIY.setShowTruckLimitElement(false);
上一篇
下一篇