百度全景sdk为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度全景图区:
全景图初始化提供了三种方式。分别为
-(id)initwithframe:(cgrect)frame key:(nsstring*)key;
其中frame为全景图所需frame,key为统一在百度lbs平台申请的接入密钥。密钥申请方法
-(id)initwithframe:(cgrect)frame;
此种初始化方法需要额外调用setpanoramaaccesskey 进行密钥设定。
-(id)initwithframe:(cgrect)frame mcx:(nsinteger)x mcy:(nsinteger)y;
此种初始化方法可以直接得到当前百度坐标下的全景图。仍然需要进行密钥设定,否则将出现未授权提示。
[self.panoramaview setpanoramawithx:x y:y];
为了能够让开发者更方便的获取全景图,sdk提供了坐标转化工具,利用baidupanoutils 工具中的方法可以很方便进行坐标转换。
coor_type_bdll=1,//百度坐标coor_type_bdmc=2,//百度墨卡托坐标coor_type_gps=3,//gps原始坐标coor_type_common=4,//其他坐标,腾讯,高德,google等
转换方法为:
(cllocationcoordinate2d)baiducoorencryptlon:(double)lon lat:(double)lat coortype:(coor_type)type;
开发者可以利用转化后的坐标进行获取百度全景
地图中每一个全景图对应一个pid,pid的获取方式可以通过poi信息方式获取,或者经纬度获取当前的pid。
-(void)setpanoramawithpid:(nsstring*)pid;
在百度地图中,poi点对应的id为uid(历史原因,此处不多解释),可以根据uid来直接显示当前uid下的全景图,注意考虑没有全景图的情况。
-(void)setpanoramawithuid:(nsstring*)uid;
在全景sdk2.1.0 中,引入新的接口:
-(void)setpanoramawithuid:(nsstring*)uidtype:(baidupanoramatype)type;
其中baidupanoramatype代表室内还是室外。因为poi点可以是室内也可以是室外,而在室内的话,会默认调用室内相册的插件,进而显示室内全景图。此方法注意判断相应错误情况:
1、传入室内类型,但是此poi并没有室内全景图
2、传入室内类型,但是没有添加室内相册.a,依然无法显示室内全景图
3、传入室外类型,但是此poi没有室外全景图
上一篇
下一篇
本篇文章对您是否有帮助?