AMapNearbySearchManager.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //
  2. // AMapNearbySearchManager.h
  3. // AMapSearchKit
  4. //
  5. // Created by xiaoming han on 15/8/31.
  6. // Copyright (c) 2015年 AutoNavi. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "AMapSearchError.h"
  10. @class AMapNearbySearchManager;
  11. @class AMapNearbyUploadInfo;
  12. /// 附近搜索代理
  13. @protocol AMapNearbySearchManagerDelegate <NSObject>
  14. @optional
  15. /*
  16. * 开启自动上传,需实现该回调。
  17. */
  18. - (AMapNearbyUploadInfo *)nearbyInfoForUploading:(AMapNearbySearchManager *)manager;
  19. /**
  20. * 用户信息上传完毕回调。
  21. *
  22. * @param error 错误,为空时表示成功。
  23. */
  24. - (void)onNearbyInfoUploadedWithError:(NSError *)error;
  25. /**
  26. * 用户信息清除完毕回调。
  27. *
  28. * @param error 错误,为空时表示成功。
  29. */
  30. - (void)onUserInfoClearedWithError:(NSError *)error;
  31. @end
  32. /// 附近搜索管理类,同时只能有一个实例开启,否则可能会出现错误。
  33. @interface AMapNearbySearchManager : NSObject
  34. /// manager单例。
  35. + (instancetype)sharedInstance;
  36. /// 请使用单例。
  37. - (instancetype)init __attribute__((unavailable));
  38. /// 上传最小间隔,默认15s,最小7s。自动上传的过程中设置无效。
  39. @property (nonatomic, assign) NSTimeInterval uploadTimeInterval;
  40. /// 代理对象。
  41. @property (nonatomic, weak) id<AMapNearbySearchManagerDelegate> delegate;
  42. /// 是否正在自动上传状态中。
  43. @property (nonatomic, readonly) BOOL isAutoUploading;
  44. /**
  45. * 启动自动上传。
  46. */
  47. - (void)startAutoUploadNearbyInfo;
  48. /**
  49. * 关闭自动上传。
  50. */
  51. - (void)stopAutoUploadNearbyInfo;
  52. /**
  53. * 执行单次上传,执行间隔不低于uploadTimeInterval最小值,否则执行失败。
  54. *
  55. * @param info 需要上传的信息。
  56. *
  57. * @return 成功执行返回YES,否则返回NO。
  58. */
  59. - (BOOL)uploadNearbyInfo:(AMapNearbyUploadInfo *)info;
  60. /**
  61. * 清除服务器上某一用户的信息。
  62. *
  63. * @param userID 指定的用户ID
  64. *
  65. * @return 成功执行返回YES,否则返回NO。
  66. */
  67. - (BOOL)clearUserInfoWithID:(NSString *)userID;
  68. @end