浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

iOS 全景SDK

百度iOS全景SDK是为iOS移动平台提供的一套全景图服务接口,面向广大开发者提供全景图的检索、显示和交互功能,从而更加清晰方便地展示目标位置的周边环境。


简述

百度全景SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度全景图区:

%E5%85%A8%E6%99%AF%E5%9B%BE%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8F%8A%E6%98%BE%E7%A4%BA.png

全景图初始化

全景图初始化提供了三种方式。分别为


- (id)initWithFrame:(CGRect)frame key:(NSString *)key;

其中frame为全景图所需frame,key为统一在百度LBS平台申请的接入密钥。密钥申请方法参考:

http://lbsyun.baidu.com/index.php?title=iossdk/guide/create-project/ak


- (id)initWithFrame:(CGRect)frame;

此种初始化方法需要额外调用setPanoramaAccessKey 进行密钥设定。


- (id)initWithFrame:(CGRect)frame mcX:(NSInteger)x mcY:(NSInteger)y;

此种初始化方法可以直接得到当前百度坐标下的全景图。仍然需要进行密钥设定,否则将出现未授权提示。

利用百度坐标展示全景图

[self.panoranaView setPanoramaWithLon:116.48 andY:39.84];

利用百度墨卡托坐标检索全景图

[self.panoramaView setPanoramaWithX:x Y:y];

利用原始GPS坐标或者其他坐标系坐标检索全景图

为了能够让开发者更方便的获取全景图,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,pid的获取方式可以通过POI信息方式获取,或者经纬度获取当前的pid。


- (void)setPanoramaWithPid:(NSString *)pid;

利用地图中的POI获取指定全景图

在百度地图中,POI点对应的id为UID(历史原因,此处不多解释),可以根据uid来直接显示当前UID下的全景图,注意考虑没有全景图的情况。


- (void)setPanoramaWithUid:(NSString *)uid;

在全景SDK2.1.0 中,引入新的接口:


- (void)setPanoramaWithUid:(NSString*)uid
                        type:(BaiduPanoramaType)type;

其中BaiduPanoramaType代表室内还是室外。因为POI点可以是室内也可以是室外,而在室内的话,会默认调用室内相册的插件,进而显示室内全景图。此方法注意判断相应错误情况:

1、传入室内类型,但是此POI并没有室内全景图

2、传入室内类型,但是没有添加室内相册.a,依然无法显示室内全景图

3、传入室外类型,但是此POI没有室外全景图