示例中心
功能在线体验
控制台

高德 开发 iOS 室内定位SDK 开发指南 获取位置 获取室内位置

更新时间:2017年04月13日

构造定位对象

示例:

OnlineLocation* indoorLocation = [[OnlineLocation alloc]initWithDelegate:self];

功能: 初始化室内定位模块。

方法:     -(instancetype)initWithDelegate:(id)delegate;

参数:

参数

类型

说明

delegate

id

接收室内定位事件

返回值:

类型

说明

OnlineLocation

返回室内定位模块对象

设置API Key

功能: 设置高德地图API的Key,用于访问高德服务器鉴权。

示例:

indoorLocation.key = @"您申请的高德地图API的Key";

属性:     @property(nonatomic, strong) NSString* key;

参数:

参数

类型

说明

key

NSString*

高德地图API Key

说明: 用户在使用本SDK之前需要获取高德地图API Key。(使用高德开发者账号登陆,若不是开发者账号,则会提醒认证成为开发者)

相关说明请参考 获取key 相关内容。 如果Key不正确,将无法使用本SDK的各项功能。

指定定位建筑

功能: 指定在哪栋建筑物内进行室内定位。

示例:

indoorLocation.buildingId = @"室内建筑POIID";

属性:         @property(nonatomic, strong) NSString* buildingId;

参数:

参数

类型

说明

buildingId

NSString*

建筑物的高德POIID,线下获取

说明: 必须指定建筑物,否则可能无法定位。

启动定位

功能: 启动室内定位模块,进行定位操作。

示例:

[indoorLocation startLocation];

方法: -(int)startLocation;

返回值:

类型

说明

int

0:启动室内定位成功

-1:室内定位已经启动

停止定位

功能: 停止室内定位模块。

示例:

[indoorLocation stopLocation];

方法: -(int)stopLocation;

返回值:

类型

说明

int

0:停止室内定位成功

-1:室内定位已经启动

获取版本号

功能: 获取定位模块的版本号,当前版本是5.6

示例:

[OnlineLocation getVersion];

方法: +(NSString*)getVersion;

返回值:

类型

说明

NSString*

定位模块的版本号

定位成功事件

功能: 定位成功时获得定位结果

示例:

-(void)indoorLocation:(LocationBase*)indoorLocation didLocationResult:(LocationResult*)result
{
    self.result = result;
    NSString* text = [NSString stringWithFormat:@"定位结果: %@", self.result];
    [self.textView setText:text];
}

方法: -(void)indoorLocation:(LocationBase)indoorLocation     didLocationResult:(LocationResult)result;

参数:

参数

类型

说明

indoorLocation

LocationBase *

定位模块实例

result

LocationResult*

定位结果

定位失败事件

功能: 定位失败时获取失败原因

示例:

-(void)indoorLocation:(LocationBase*)indoorLocation
    didLocationError:(NSString*)buildingId error:(NSError*)error
{
    NSString* text = [NSString stringWithFormat:@"%@定位失败: %@", buildingId, error];
    [self.textView setText:text];
}

方法: -(void)indoorLocation:(LocationBase)indoorLocation     didLocationError:(NSString)buildingId     error:(NSError*)error;

参数:

参数

类型

说明

indoorLocation

LocationBase *

定位模块实例

buildingId

NSString*

定位的建筑物ID

error

NSError*

错误原因,error.code是错误码

定位结果

功能: 室内定位结果

示例:

int floorId = result.floorId;
double longitude = result.longitude;
double latitude = result.latitude;

结构:

@interface LocationResult : NSObject
@property(nonatomic) int type;
@property(nonatomic, strong) NSString* buildingId; 
@property(nonatomic) double longitude;
@property(nonatomic) double latitude;
@property(nonatomic) int floorId;   
@property(nonatomic) float accuracy;
@property(nonatomic) float orientation;
@end

参数:

参数

类型

说明

type

int

结果类型(0:ONLINE,1:OFFLINE)

buildingId

NSString*

定位的建筑物ID

longitude

double

经度(-180~180)

latitude

double

纬度(-90~90)

floorId

int

楼层(-100~-1,1-127)

accuracy

float

精度(单位米)

orientation

float

方向(0~360)

示例中心 功能
在线体验
常见问题