MAPolygon.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // MAPolygon.h
  3. // MAMapKit
  4. //
  5. // Copyright (c) 2011年 Amap. All rights reserved.
  6. //
  7. #import "MAConfig.h"
  8. #import <Foundation/Foundation.h>
  9. #import "MAMultiPoint.h"
  10. #import "MAOverlay.h"
  11. ///此类用于定义一个由多个点组成的闭合多边形, 点与点之间按顺序尾部相连, 第一个点与最后一个点相连, 通常MAPolygon是MAPolygonView的model
  12. @interface MAPolygon : MAMultiPoint <MAOverlay>
  13. ///设置中空区域,用来创建中间带空洞的复杂图形。注意:传入的overlay只支持MAPolgon类型和MACircle类型,不支持与polygon边相交或在polygon外部,不支持hollowShapes彼此间相交,和空洞顺序有关,不支持嵌套. since 5.5.0
  14. @property (nonatomic, strong) NSArray<id<MAOverlay>> *hollowShapes;
  15. /**
  16. * @brief 根据经纬度坐标数据生成闭合多边形
  17. * @param coords 经纬度坐标点数据,coords对应的内存会拷贝,调用者负责该内存的释放
  18. * @param count 经纬度坐标点数组个数
  19. * @return 新生成的多边形
  20. */
  21. + (instancetype)polygonWithCoordinates:(CLLocationCoordinate2D *)coords count:(NSUInteger)count;
  22. /**
  23. * @brief 根据map point数据生成多边形
  24. * @param points map point数据,points对应的内存会拷贝,调用者负责该内存的释放
  25. * @param count 点的个数
  26. * @return 新生成的多边形
  27. */
  28. + (instancetype)polygonWithPoints:(MAMapPoint *)points count:(NSUInteger)count;
  29. /**
  30. * @brief 重新设置多边形顶点. since 5.0.0
  31. * @param points 指定的直角坐标点数组, C数组,内部会做copy,调用者负责内存管理
  32. * @param count 坐标点的个数
  33. * @return 是否设置成功
  34. */
  35. - (BOOL)setPolygonWithPoints:(MAMapPoint *)points count:(NSInteger)count;
  36. /**
  37. * @brief 重新设置多边形顶点. since 5.0.0
  38. * @param coords 指定的经纬度坐标点数组, C数组,内部会做copy,调用者负责内存管理
  39. * @param count 坐标点的个数
  40. * @return 是否设置成功
  41. */
  42. - (BOOL)setPolygonWithCoordinates:(CLLocationCoordinate2D *)coords count:(NSInteger)count;
  43. @end