单军华
2017-07-12 20d1260d26b028897f3c0935c12fc35aa37b2e93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
 *  BMKOfflineMap.h
 *  BMapKit
 *
 *  Copyright 2011 Baidu Inc. All rights reserved.
 *
 */
 
#import <Foundation/Foundation.h>
#import "BMKOfflineMapType.h"
 
 
@protocol BMKOfflineMapDelegate;
 
///离线地图事件类型
enum  {
    TYPE_OFFLINE_UPDATE = 0,        ///<下载或更新
    TYPE_OFFLINE_ZIPCNT    = 1,        ///<检测到的压缩包个数
    TYPE_OFFLINE_UNZIP = 2,            ///<当前解压的离线包
    TYPE_OFFLINE_ERRZIP = 3,        ///<错误的离线包
    TYPE_OFFLINE_NEWVER = 4,        ///<有新版本
    TYPE_OFFLINE_UNZIPFINISH = 5,    ///<扫描完毕
    TYPE_OFFLINE_ADD = 6            ///<新增离线包
};
 
///离线地图服务
@interface BMKOfflineMap : NSObject
 
@property (nonatomic, weak) id<BMKOfflineMapDelegate> delegate;
 
 
 
/**
 *自2.9.0起废弃,不支持扫描导入离线包
 *扫描离线地图压缩包,异步函数
 *@return 成功返回YES,否则返回NO
 */
- (BOOL)scan:(BOOL)deleteFailedr __deprecated_msg("废弃方法(空实现),自2.9.0起废弃,不支持扫描导入离线包");
 
/**
 *启动下载指定城市id的离线地图
 *@param cityID 指定的城市id
 *@return 成功返回YES,否则返回NO
 */
- (BOOL)start:(int)cityID;
 
/**
 *启动更新指定城市id的离线地图
 *@param cityID 指定的城市id
 *@return 成功返回YES,否则返回NO
 */
- (BOOL)update:(int)cityID;
 
/**
 *暂停下载指定城市id的离线地图
 *@param cityID 指定的城市id
 *@return 成功返回YES,否则返回NO
 */
- (BOOL)pause:(int)cityID;
 
/**
 *删除下载指定城市id的离线地图
 *@param cityID 指定的城市id
 *@return 成功返回YES,否则返回NO
 */
- (BOOL)remove:(int)cityID;
 
/**
 *返回热门城市列表
 *@return 热门城市列表,用户需要显示释放该数组,数组元素为BMKOLSearchRecord
 */
- (NSArray*)getHotCityList;
 
/**
 *返回所有支持离线地图的城市列表
 *@return 支持离线地图的城市列表,用户需要显示释放该数组,数组元素为BMKOLSearchRecord
 */
- (NSArray*)getOfflineCityList;
 
/**
 *根据城市名搜索该城市离线地图记录
 *@param cityName 城市名
 *@return 该城市离线地图记录,用户需要显示释放该数组,数组元素为BMKOLSearchRecord
 */
- (NSArray*)searchCity:(NSString*)cityName;
 
/**
 *返回各城市离线地图更新信息
 *@return 各城市离线地图更新信息,用户需要显示释放该数组,数组元素为BMKOLUpdateElement
 */
- (NSArray*)getAllUpdateInfo;
 
/**
 *返回指定城市id离线地图更新信息
 *@param cityID 指定的城市id
 *@return 指定城市id离线地图更新信息
 */
- (BMKOLUpdateElement*)getUpdateInfo:(int)cityID;
 
@end
 
 
///离线地图delegate,用于获取通知
@protocol BMKOfflineMapDelegate<NSObject>
/**
 *返回通知结果
 *@param type 事件类型: TYPE_OFFLINE_UPDATE,TYPE_OFFLINE_ZIPCNT,TYPE_OFFLINE_UNZIP, TYPE_OFFLINE_ERRZIP, TYPE_VER_UPDATE, TYPE_OFFLINE_UNZIPFINISH, TYPE_OFFLINE_ADD
 *@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_UPDATE时,表示id为state的城市离线包有更新,当type为TYPE_OFFLINE_UNZIPFINISH时,表示扫瞄完成,成功导入state个离线包
 */
- (void)onGetOfflineMapState:(int)type withState:(int)state;
 
@end