1 // 2 // AIRGoogleMapMarker.h 3 // AirMaps 4 // 5 // Created by Gil Birman on 9/2/16. 6 // 7 8 #ifdef HAVE_GOOGLE_MAPS 9 10 #import <GoogleMaps/GoogleMaps.h> 11 #import <React/RCTBridge.h> 12 #import "AIRGMSMarker.h" 13 #import "AIRGoogleMap.h" 14 #import "AIRGoogleMapCallout.h" 15 #import "AIRGoogleMapCalloutSubview.h" 16 17 @interface AIRGoogleMapMarker : UIView 18 19 @property (nonatomic, weak) RCTBridge *bridge; 20 @property (nonatomic, strong) AIRGoogleMapCallout *calloutView; 21 @property (nonatomic, strong) NSString *identifier; 22 @property (nonatomic, assign) CLLocationCoordinate2D coordinate; 23 @property (nonatomic, assign) CLLocationDegrees rotation; 24 @property (nonatomic, strong) AIRGMSMarker* realMarker; 25 @property (nonatomic, copy) RCTBubblingEventBlock onPress; 26 @property (nonatomic, copy) RCTDirectEventBlock onDragStart; 27 @property (nonatomic, copy) RCTDirectEventBlock onDrag; 28 @property (nonatomic, copy) RCTDirectEventBlock onDragEnd; 29 @property (nonatomic, copy) NSString *imageSrc; 30 @property (nonatomic, copy) NSString *iconSrc; 31 @property (nonatomic, copy) NSString *title; 32 @property (nonatomic, copy) NSString *subtitle; 33 @property (nonatomic, strong) UIColor *pinColor; 34 @property (nonatomic, assign) CGPoint anchor; 35 @property (nonatomic, assign) CGPoint calloutAnchor; 36 @property (nonatomic, assign) NSInteger zIndex; 37 @property (nonatomic, assign) double opacity; 38 @property (nonatomic, assign) BOOL draggable; 39 @property (nonatomic, assign) BOOL tappable; 40 @property (nonatomic, assign) BOOL tracksViewChanges; 41 @property (nonatomic, assign) BOOL tracksInfoWindowChanges; 42 43 - (void)showCalloutView; 44 - (void)hideCalloutView; 45 - (void)redraw; 46 - (UIView *)markerInfoContents; 47 - (UIView *)markerInfoWindow; 48 - (void)didTapInfoWindowOfMarker:(AIRGMSMarker *)marker; 49 - (void)didTapInfoWindowOfMarker:(AIRGMSMarker *)marker point:(CGPoint)point frame:(CGRect)frame; 50 - (void)didTapInfoWindowOfMarker:(AIRGMSMarker *)marker subview:(AIRGoogleMapCalloutSubview*)subview point:(CGPoint)point frame:(CGRect)frame; 51 - (void)didBeginDraggingMarker:(AIRGMSMarker *)marker; 52 - (void)didEndDraggingMarker:(AIRGMSMarker *)marker; 53 - (void)didDragMarker:(AIRGMSMarker *)marker; 54 @end 55 56 #endif 57