AMapLocationRegionObj.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // AMapLocationRegionObj.h
  3. // AMapLocationKit
  4. //
  5. // Created by AutoNavi on 15/11/27.
  6. // Copyright © 2015年 Amap. All rights reserved.
  7. //
  8. #import "AMapLocationCommonObj.h"
  9. // 以下类涉及的坐标需要使用高德坐标系坐标(GCJ02)
  10. #pragma mark - AMapLocationRegion
  11. ///AMapLocationRegion类,该类提供范围类的基本信息,并无具体实现,不要直接使用。
  12. @interface AMapLocationRegion : NSObject<NSCopying>
  13. ///AMapLocationRegion的identifier
  14. @property (nonatomic, copy, readonly) NSString *identifier;
  15. ///当进入region范围时是否通知,默认YES
  16. @property (nonatomic, assign) BOOL notifyOnEntry;
  17. ///当离开region范围时是否通知,默认YES
  18. @property (nonatomic, assign) BOOL notifyOnExit;
  19. /**
  20. * @brief 初始化方法
  21. * @param identifier 唯一标识符,必填,不可为nil
  22. */
  23. - (instancetype)initWithIdentifier:(NSString *)identifier;
  24. /**
  25. * @brief 坐标点是否在范围内
  26. * @param coordinate 要判断的坐标点
  27. * @return 是否在范围内
  28. */
  29. - (BOOL)containsCoordinate:(CLLocationCoordinate2D)coordinate;
  30. @end
  31. #pragma mark - AMapLocationCircleRegion
  32. ///AMapLocationCircleRegion类,定义一个圆形范围。
  33. @interface AMapLocationCircleRegion : AMapLocationRegion
  34. ///中心点的经纬度坐标
  35. @property (nonatomic, readonly) CLLocationCoordinate2D center;
  36. ///半径,单位:米
  37. @property (nonatomic, readonly) CLLocationDistance radius;
  38. /**
  39. * @brief 根据中心点和半径生成圆形范围
  40. * @param center 中心点的经纬度坐标
  41. * @param radius 半径,单位:米
  42. * @param identifier 唯一标识符,必填,不可为nil
  43. * @return AMapLocationCircleRegion类实例
  44. */
  45. - (instancetype)initWithCenter:(CLLocationCoordinate2D)center radius:(CLLocationDistance)radius identifier:(NSString *)identifier;
  46. @end
  47. #pragma mark - AMapLocationPolygonRegion
  48. ///AMapLocationCircleRegion类,定义一个闭合多边形范围,点与点之间按顺序尾部相连, 第一个点与最后一个点相连。
  49. @interface AMapLocationPolygonRegion : AMapLocationRegion
  50. ///经纬度坐标点数据
  51. @property (nonatomic, readonly) CLLocationCoordinate2D *coordinates;
  52. ///经纬度坐标点的个数
  53. @property (nonatomic, readonly) NSInteger count;
  54. /**
  55. * @brief 根据经纬度坐标数据生成闭合多边形范围
  56. * @param coordinates 经纬度坐标点数据,coordinates对应的内存会拷贝,调用者负责该内存的释放
  57. * @param count 经纬度坐标点的个数,不可小于3个
  58. * @param identifier 唯一标识符,必填,不可为nil
  59. * @return AMapLocationCircleRegion类实例
  60. */
  61. - (instancetype)initWithCoordinates:(CLLocationCoordinate2D *)coordinates count:(NSInteger)count identifier:(NSString *)identifier;
  62. @end