BMKOfflineMap.h 3.5 KB

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