地图下载 最后更新时间: 2021年01月22日
开发者Key
1)函数体:
@property(nonatomic, strong)NSString* key;
2)说明:
请从高德地图开放平台官网申请Key,并在程序中使用正确的Key。 如果Key设置错误,将无法访问LBS服务器下载室内地图数据。
下载地图数据
1)函数体:
-(int)downloadBuilding:(NSString*)buildingId;
2)参数说明:
参数 | 类型 | 说明 |
---|---|---|
buildingId | NSString* | 室内建筑物Id |
返回值:
返回值 | 类型 | 说明 |
---|---|---|
IMOK | int | 下载启动成功 |
IMERR | int | 下载启动失败 |
3)说明:
-请在线申请建筑物数据,建筑物数据申请详情请参阅:申请室内地图数据
-buildingId必须是高德室内地图的建筑物Id,否则无法成功下载数据。
-下载室内地图数据可以使用与地图显示不同的buildingId,不影响地图显示。但不要与 OIMMapView 使用同一个数据管理对象,因为 OIMMapView 会处理下载成功或失败的消息,可能会导致不可预知的错误。
4)示例代码:
//下载室内地图数据
NSString* buildingId = @"请输入建筑物ID";
[self.imDataManager downloadBuilding:buildingId];
数据下载或更新
1)函数体:
-(void)dataManager:(OIMDataManager*)dataManager didDownloadSuccess:(NSString*)buildingId updated:(BOOL)updated;
2)参数说明:
参数 | 类型 | 说明 |
---|---|---|
dataManager | OIMDataManager* | 数据管理对象 |
buildingId | NSString* | 室内建筑物Id |
updated | BOOL | 是否有新数据下载下来 |
数据下载或更新失败
1)函数体:
-(void)dataManager:(OIMDataManager*)dataManager didDownloadFailure:(NSString*)buildingId error:(NSError*)error;
2)参数说明:
参数 | 类型 | 说明 |
---|---|---|
dataManager | OIMDataManager* | 数据管理对象 |
buildingId | NSString* | 室内建筑物Id |
error | NSError* | 失败相关的错误信息 |
删除数据
删除指定建筑物的室内地图数据
1)函数体:
-(int)removeBuilding:(NSString*)buildingId;
2)参数说明:
参数 | 类型 | 说明 |
---|---|---|
buildingId | NSString* | 室内建筑物Id |
返回值:
返回值 | 类型 | 说明 |
---|---|---|
IMOK | int | 删除成功 |
IMERR | int | 删除失败 |
3)说明
-请在线申请建筑物数据,建筑物数据申请详情请参阅:申请室内地图数据
-该接口只会删除缓存中的数据文件,不影响已经加载到内存中的数据。也就是说删除OIMMapView当前正在显示的建筑物数据,已经显示的地图不会消失。
4)示例代码:
//删除室内地图数据
NSString* buildingId = @"请输入建筑物ID";
[self.imDataManager removeBuilding:buildingId];
删除所有建筑物室内地图数据
1)函数体:
-(int)removeAllBuildings;
2)返回值:
返回值 | 类型 | 说明 |
---|---|---|
IMOK | int | 删除成功 |
IMERR | int | 删除失败 |
3)示例代码:
//删除所有室内地图数据
[self.imDataManager removeAllBuildings];
获取缓存建筑物列表
1)函数体:
-(NSArray*)getAllBuildings;
2)返回值:
返回值 | 类型 | 说明 |
---|---|---|
NSArray* | 所有已经缓存的建筑物列表 |
3)说明
-获取的是已经缓存的建筑物列表,而不是服务器上可供下载的建筑物列表,SDK不提供可用的建筑物列表。
-请在线申请建筑物数据,建筑物数据申请详情请参阅:申请室内地图数据 。
4)示例代码:
//获取室内建筑物列表
NSArray* buildingIds = [self.imDataManager getAllBuildings];