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