导航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:noimagetype:bn_diyimage_waypoint];[bnaviservice_mapoverlay setdiyimagetomap:[uiimage imagenamed:@"pin_green"] imagetype:bn_diyimage_startpoint];[bnaviservice_mapoverlay setdiyimagehidden:noimagetype:bn_diyimage_startpoint];[bnaviservice_mapoverlay setdiyimagetomap:[uiimage imagenamed:@"pin_red"] imagetype:bn_diyimage_endpoint];[bnaviservice_mapoverlay setdiyimagehidden:noimagetype: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];
上一篇
下一篇
本篇文章对您是否有帮助?