LocationManager.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //
  2. // LocationManager.h
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2018/9/20.
  6. // Copyright © 2018年 JCZ. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #import <BMKLocationkit/BMKLocationComponent.h>//引入定位功能所有的头文件(新)
  11. #import <BaiduMapAPI_Base/BMKBaseComponent.h>//引入地图功能所有的头文件
  12. #import <BaiduMapAPI_Search/BMKSearchComponent.h>//引入检索功能所有的头文件
  13. #import <BaiduMapAPI_Map/BMKMapView.h>
  14. #import <BaiduMapAPI_Map/BMKPinAnnotationView.h>
  15. #import <BaiduMapAPI_Map/BMKPointAnnotation.h>
  16. #define LOCATION_MANAGER [LocationManager sharedManager]
  17. /**
  18. 定位回调
  19. @param success 是否成功
  20. @param location 返回定位
  21. */
  22. typedef void(^LocCompletedBlock)(BOOL success, CLLocation * _Nullable location, BMKLocation * _Nullable bmkLocation);
  23. /**
  24. 搜索地址信息回调
  25. @param success 是否成功
  26. @param result result
  27. @param error 错误编码
  28. */
  29. typedef void(^SearchCompletedBlock)(BOOL success ,BMKGeoCodeSearchResult * _Nullable result, BMKSearchErrorCode error);
  30. /**
  31. 反编译地址回调
  32. @param success 是否成功
  33. @param result 回调结果
  34. @param error 错误编码
  35. */
  36. typedef void(^ReverseCompletedBlock)(BOOL success ,BMKReverseGeoCodeSearchResult * _Nullable result, BMKSearchErrorCode error);
  37. NS_ASSUME_NONNULL_BEGIN
  38. @interface LocationManager : NSObject
  39. + (LocationManager *)sharedManager;
  40. /**
  41. 根据大小创建地图
  42. @param size 大小
  43. @return 返回地图
  44. */
  45. - (BMKMapView *)getMapViewWithSize:(CGSize)size;
  46. /**
  47. 单次定位
  48. @param completeBlock 定位回调
  49. */
  50. - (void)updateLocationWithCompleteBlock:(LocCompletedBlock)completeBlock;
  51. /**
  52. 连续定位
  53. @param distanceFilter 设定定位的最小更新距离。默认为 kCLDistanceFilterNone
  54. @param completeBlock 定位回调
  55. */
  56. - (void)updateLocationWithDistanceFilter:(NSInteger)distanceFilter CompleteBlock:(LocCompletedBlock)completeBlock;
  57. /**
  58. 返回地址信息搜索结果
  59. @param address 地址(必填)
  60. @param city 城市(选填)
  61. @param completeBlock 搜索回调
  62. */
  63. - (void)onGetGeoCodeWithAddress:(NSString *)address City:(NSString *)city completeBlock:(SearchCompletedBlock)completeBlock;
  64. /**
  65. 返回反地理编码搜索结果
  66. @param location 定位
  67. @param completeBlock 搜索回调
  68. */
  69. - (void)onGetReverseGeoCodeWithLocation:(CLLocation *)location completeBlock:(ReverseCompletedBlock)completeBlock;
  70. @end
  71. NS_ASSUME_NONNULL_END