MACircle.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // MACircle.h
  3. // MAMapKit
  4. //
  5. //
  6. // Copyright (c) 2011年 Amap. All rights reserved.
  7. #import "MAConfig.h"
  8. #import "MAShape.h"
  9. #import "MAOverlay.h"
  10. #import "MAGeometry.h"
  11. ///该类用于定义一个圆, 通常MACircle是MACircleView的model
  12. @interface MACircle : MAShape <MAOverlay> {
  13. @package
  14. MAMapRect _boundingMapRect;
  15. }
  16. ///设置中空区域,用来创建中间带空洞的复杂图形。注意:传入的overlay只支持MAPolgon类型和MACircle类型,不支持与此circle边相交或在circle外部,不支持hollowShapes彼此间相交,和空洞顺序有关,不支持嵌套. since 5.5.0
  17. @property (nonatomic, strong) NSArray<id<MAOverlay>> *hollowShapes;
  18. ///中心点经纬度坐标,无效坐标按照{0,0}处理
  19. @property (nonatomic, assign) CLLocationCoordinate2D coordinate;
  20. ///半径,单位:米 负数按照0处理
  21. @property (nonatomic, assign) CLLocationDistance radius;
  22. ///该圆的外接map rect
  23. @property (nonatomic, readonly) MAMapRect boundingMapRect;
  24. /**
  25. * @brief 根据中心点和半径生成圆
  26. * @param coord 中心点的经纬度坐标,无效坐标按照{0,0}处理
  27. * @param radius 半径,单位:米, 负数按照0处理
  28. * @return 新生成的圆
  29. */
  30. + (instancetype)circleWithCenterCoordinate:(CLLocationCoordinate2D)coord
  31. radius:(CLLocationDistance)radius;
  32. /**
  33. * @brief 根据map rect生成圆
  34. * @param mapRect mapRect 圆的最小外界矩形
  35. * @return 新生成的圆
  36. */
  37. + (instancetype)circleWithMapRect:(MAMapRect)mapRect;
  38. /**
  39. * @brief 设置圆的中心点和半径. since 5.0.0
  40. * @param coord 中心点的经纬度坐标,无效坐标按照{0,0}处理
  41. * @param radius 半径,单位:米 负数按照0处理
  42. * @return 是否设置成功
  43. */
  44. - (BOOL)setCircleWithCenterCoordinate:(CLLocationCoordinate2D)coord radius:(CLLocationDistance)radius;
  45. @end