全部服务产品
开发者频道
定价
登录
自定义标注
下载开发文档

导航SDK支持对路线的起点、终点、途经点和车标的icon进行自定义。相关接口在BNMapOverlayProtocol.h中。

支持设置的类型如下:

typedef NS_ENUM(NSInteger, BN_DIYImageType) {
BN_DIYImage_CarLogo = 0, //车标
BN_DIYImage_StartPoint = 1, //起点
BN_DIYImage_EndPoint = 2, //终点
BN_DIYImage_3DCar = 3, //3D车标
BN_DIYImage_WayPoint = 4, //途经点
};
自定义起点、途经点、终点icon

使用如下接口进行自定义:

/**
设置自定义类型图片
@param image 设置的图片
@param type 类型
*/
- (void)setDIYImageToMap:(UIImage*)image
imageType:(BN_DIYImageType)type;

使用方式:

[BNaviService_MapOverlay setDIYImageToMap:[UIImage imageNamed:@"icon_waterdrop_blue"] imageType:BN_DIYImage_WayPoint];
[BNaviService_MapOverlay setDIYImageHidden:NO imageType:BN_DIYImage_WayPoint];
[BNaviService_MapOverlay setDIYImageToMap:[UIImage imageNamed:@"pin_green"] imageType:BN_DIYImage_StartPoint];
[BNaviService_MapOverlay setDIYImageHidden:NO imageType:BN_DIYImage_StartPoint];
[BNaviService_MapOverlay setDIYImageToMap:[UIImage imageNamed:@"pin_red"] imageType:BN_DIYImage_EndPoint];
[BNaviService_MapOverlay setDIYImageHidden:NO imageType:BN_DIYImage_EndPoint];

效果如下:

customMarker.pngcustomMarker2.png

如果每个途经点需要自定义不同的icon,可以使用如下接口:

/// 自定义途经点icon
/// @param images 图片
/// @param indexes 图片索引
/// @note 途经点对应的图片为indexes数组中的存储的图片索引,例如:images有2张图片,第3个途经点的索引是0,则该途经点的icon为images[0]中的图片
- (void)setWayPointCustomImages:(NSArray *)images indexes:(NSArray *)indexes;

使用方式:

[BNaviService_MapOverlay setWayPointCustomImages:@[[UIImage imageNamed:@"car1"],[UIImage imageNamed:@"car2"],[UIImage imageNamed:@"car3"]] indexes:@[@0,@1,@2]];
自定义车标

导航SDK支持2种类型的自定义车标

1. 静态车标

使用如下接口,type传BN_DIYImage_CarLogo。

/**
设置自定义类型图片
@param image 设置的图片
@param type 类型
*/
- (void)setDIYImageToMap:(UIImage*)image
imageType:(BN_DIYImageType)type;

使用方式:

//设置车标为car1
[BNaviService_MapOverlay setDIYImageToMap:[UIImage imageNamed:@"car1"] imageType:BN_DIYImage_CarLogo];
2. 3D车标

支持传入一组图片做为车标,SDK会根据当前车标的角度选择合适的图片进行展示。

/**
设置自定义3D类型图片
@param images 设置的图片数组(以正西方向为第一张图片)
@param type 类型
*/
- (void)setDIY3DImageToMap:(NSArray *)images
imageType:(BN_DIYImageType)type;

使用方式:

NSMutableArray *images = [NSMutableArray array];
for (int i = 0; i < 360; i+=5) {
NSString *imgName = [NSString stringWithFormat:@"%i", i];
UIImage *image = [UIImage imageNamed:imgName];
if (image) {
[images addObject:image];
}
}
[BNaviService_MapOverlay setDIY3DImageToMap:images imageType:BN_DIYImage_3DCar];
恢复默认icon

开发者使用自定义icon后如果需要恢复默认只,只需要清楚自定义icon即可。接口如下:

/**
清除自定义类型
@param type 类型
*/
- (void)clearDIYImage:(BN_DIYImageType)type;

使用方式:

[BNaviService_MapOverlay clearDIYImage:BN_DIYImage_StartPoint];

上一篇

显示模式

下一篇

自定义UI控件

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