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