1 //
2 // Created by Leland Richardson on 12/27/15.
3 // Copyright (c) 2015 Facebook. All rights reserved.
4 //
5 
6 #import <Foundation/Foundation.h>
7 
8 #import <MapKit/MapKit.h>
9 #import <UIKit/UIKit.h>
10 
11 #import <React/RCTComponent.h>
12 #import <React/RCTView.h>
13 #import "AIRMapCoordinate.h"
14 #import "AIRMap.h"
15 #import "RCTConvert+AirMap.h"
16 
17 
18 
19 @interface AIRMapPolygon: MKAnnotationView <MKOverlay>
20 
21 @property (nonatomic, weak) AIRMap *map;
22 
23 @property (nonatomic, strong) MKPolygon *polygon;
24 @property (nonatomic, strong) MKPolygonRenderer *renderer;
25 @property (nonatomic, strong) NSArray<MKPolygon *> *interiorPolygons;
26 
27 @property (nonatomic, strong) NSArray<AIRMapCoordinate *> *coordinates;
28 @property (nonatomic, strong) NSArray<NSArray<AIRMapCoordinate *> *> *holes;
29 @property (nonatomic, strong) UIColor *fillColor;
30 @property (nonatomic, strong) UIColor *strokeColor;
31 @property (nonatomic, assign) CGFloat strokeWidth;
32 @property (nonatomic, assign) CGFloat miterLimit;
33 @property (nonatomic, assign) CGLineCap lineCap;
34 @property (nonatomic, assign) CGLineJoin lineJoin;
35 @property (nonatomic, assign) CGFloat lineDashPhase;
36 @property (nonatomic, strong) NSArray <NSNumber *> *lineDashPattern;
37 @property (nonatomic, copy) RCTBubblingEventBlock onPress;
38 
39 #pragma mark MKOverlay protocol
40 
41 @property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
42 @property(nonatomic, readonly) MKMapRect boundingMapRect;
43 - (BOOL)intersectsMapRect:(MKMapRect)mapRect;
44 - (BOOL)canReplaceMapContent;
45 
46 @end
47