ios地图sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
离线地图
下载开发文档
简介

使用离线地图,可满足在无网络环境下查看地图信息的需求,在有离线地图的情况下,地图sdk会优先加载离线地图。

开始使用

初始化离线地图

//引入头文件
#import<baidumapapi_base/bmkbasecomponent.h>
#import<baidumapapi_map/bmkmapcomponent.h>
//离线地图类的实例
@property(nonatomic, strong)bmkofflinemap*offlinemap;
//实例化离线地图类bmkofflinemap对象
_offlinemap =[[bmkofflinemap alloc] init];
//设置离线地图类的代理
_offlinemap.delegate= self;

获取批量城市列表

首先,要先了解bmkolsearchrecord为离线地图搜索城市记录信息类,属性如下表:

cityname城市名
size数据包总大小
cityid城市id
citytype城市类型0:全国;1:省份;2:城市;如果是省份,可以通过childcities得到子城市列表
childcities子城市列表

百度地图提供了两种快速批量获取城市离线地图的接口:热门城市列表,所有城市列表;

1.获取热门城市列表,代码如下:

//数组元素为bmkolsearchrecord
nsarray*hotcitys =[_offlinemap gethotcitylist];

2.获取所有支持离线地图的城市列表,代码如下:

//数组元素为bmkolsearchrecord
nsarray*offlinecitys =[_offlinemap getofflinecitylist];

开始下载

调用离线地图下载接口start,根据城市编码下载离线地图,接口参数为cityid,cityid表示每个城市的唯一标识

nsarray*records =[_offlinemap searchcity:@"北京"];
bmkolsearchrecord*onerecord =[records objectatindex:0];
[_offlinemap start:onerecord.cityid];

下载状态

首先要先了解离线地图更新信息bmkolupdateelement,属性如下表:

cityname城市名
cityid城市id
size已下载数据大小,单位:字节
serversize服务端数据大小,当update为yes时有效,单位:字节
ratio下载比率,100为下载完成,下载完成后会自动导入,status为4时离线包导入完成
status下载状态,-1:未定义1:正在下载2:等待下载3:已暂停4:完成5:校验失败6:网络异常7:读写异常8:wifi网络异常9:离线包数据格式异常,需重新下载离线包10:离线包导入中
update更新状态,离线包是否有更新(有更新需重新下载)
pt城市中心点

获取离线地图下载事件类型和状态的代码如下:

///离线地图delegate,用于获取通知
#pragma mark – bmkofflinemapdelegate
/**
返回通知结果
@param type 事件类型
@param state 事件状态
type为type_offline_update,表示正在下载或更新城市id为state的离线包,
type为type_offline_zipcnt,表示检测到state个离线压缩包,
type为type_offline_add,表示新安装的离线地图数目,
type为type_offline_unzip,表示正在解压第state个离线包,
type为type_offline_errzip,表示有state个错误包,
type为type_ver_newver,表示id为state的城市离线包有新版本,
type为type_offline_unzipfinish时,表示扫瞄完成,成功导入state个离线包
*/
-(void)ongetofflinemapstate:(int)type withstate:(int)state {
switch(type){
casetype_offline_update:
{
/**
*返回指定城市id离线地图更新信息
*@param cityid 指定的城市id,此时state即为cityid
*@return 指定城市id离线地图更新信息
*/
bmkolupdateelement*updateelement =[_offlinemap getupdateinfo:state];
break;
}
casetype_offline_newver:
break;
casetype_offline_zipcnt:
break;
casetype_offline_errzip:
break;
casetype_offline_unzipfinish:
break;
default:
nslog(@"default");
break;
}
}

暂停下载

[_offlinemap pause:onerecord.cityid];

删除下载

[_offlinemap remove:onerecord.cityid];

更新下载

[_offlinemap update:onerecord.cityid]

上一篇

个性化地图

下一篇

境外地图服务

本篇文章对您是否有帮助?

网站地图