ios导航sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
自定义标注
下载开发文档

导航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: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种类型的自定义车标

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控件

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

网站地图