百度全景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没有室外全景图
上一篇
下一篇
本篇文章对您是否有帮助?