导航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, //途经点};
使用如下接口进行自定义:
/**设置自定义类型图片@param image 设置的图片@param type 类型*/- (void)setDIYImageToMap:(UIImage*)imageimageType:(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];
效果如下:
如果每个途经点需要自定义不同的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种类型的自定义车标
使用如下接口,type传BN_DIYImage_CarLogo。
/**设置自定义类型图片@param image 设置的图片@param type 类型*/- (void)setDIYImageToMap:(UIImage*)imageimageType:(BN_DIYImageType)type;
使用方式:
//设置车标为car1[BNaviService_MapOverlay setDIYImageToMap:[UIImage imageNamed:@"car1"] imageType:BN_DIYImage_CarLogo];
支持传入一组图片做为车标,SDK会根据当前车标的角度选择合适的图片进行展示。
/**设置自定义3D类型图片@param images 设置的图片数组(以正西方向为第一张图片)@param type 类型*/- (void)setDIY3DImageToMap:(NSArray *)imagesimageType:(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即可。接口如下:
/**清除自定义类型@param type 类型*/- (void)clearDIYImage:(BN_DIYImageType)type;
使用方式:
[BNaviService_MapOverlay clearDIYImage:BN_DIYImage_StartPoint];
上一篇
下一篇
本篇文章对您是否有帮助?