react-native-maps 2.0.0-beta.5 → 2.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/rnmaps/maps/MapCalloutManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapCircleManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -4
- package/android/src/main/java/com/rnmaps/maps/MapGradientPolylineManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapHeatmapManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapLiteManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +4 -4
- package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +1 -56
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +9 -26
- package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapPolygonManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapTileProvider.java +4 -4
- package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapView.java +24 -131
- package/android/src/main/java/com/rnmaps/maps/MapViewModule.java +598 -0
- package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +6 -6
- package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/SizeReportingShadowNode.java +1 -1
- package/ios/{AirGoogleMaps/AIRDummyView.h → GoogleMaps/RNMDummyView.h} +3 -3
- package/ios/{AirGoogleMaps/AIRDummyView.m → GoogleMaps/RNMDummyView.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSMarker.h → GoogleMaps/RNMGMSMarker.h} +6 -6
- package/ios/{AirGoogleMaps/AIRGMSMarker.m → GoogleMaps/RNMGMSMarker.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolygon.h → GoogleMaps/RNMGMSPolygon.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolygon.m → GoogleMaps/RNMGMSPolygon.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolyline.h → GoogleMaps/RNMGMSPolyline.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolyline.m → GoogleMaps/RNMGMSPolyline.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMap.h → GoogleMaps/RNMGoogleMap.h} +5 -5
- package/ios/{AirGoogleMaps/AIRGoogleMap.m → GoogleMaps/RNMGoogleMap.m} +77 -77
- package/ios/{AirGoogleMaps/AIRGoogleMapCallout.h → GoogleMaps/RNMGoogleMapCallout.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCallout.m → GoogleMaps/RNMGoogleMapCallout.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.h → GoogleMaps/RNMGoogleMapCalloutManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.m → GoogleMaps/RNMGoogleMapCalloutManager.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.h → GoogleMaps/RNMGoogleMapCalloutSubview.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.m → GoogleMaps/RNMGoogleMapCalloutSubview.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.h → GoogleMaps/RNMGoogleMapCalloutSubviewManager.h} +3 -3
- package/ios/GoogleMaps/RNMGoogleMapCalloutSubviewManager.m +28 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapCircle.h → GoogleMaps/RNMGoogleMapCircle.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCircle.m → GoogleMaps/RNMGoogleMapCircle.m} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.h → GoogleMaps/RNMGoogleMapCircleManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.m → GoogleMaps/RNMGoogleMapCircleManager.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.h → GoogleMaps/RNMGoogleMapHeatmap.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.m → GoogleMaps/RNMGoogleMapHeatmap.m} +4 -4
- package/ios/GoogleMaps/RNMGoogleMapHeatmapManager.h +11 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmapManager.m → GoogleMaps/RNMGoogleMapHeatmapManager.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapManager.h → GoogleMaps/RNMGoogleMapManager.h} +3 -3
- package/ios/GoogleMaps/RNMGoogleMapManager.m +274 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapMarker.h → GoogleMaps/RNMGoogleMapMarker.h} +15 -15
- package/ios/{AirGoogleMaps/AIRGoogleMapMarker.m → GoogleMaps/RNMGoogleMapMarker.m} +22 -22
- package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.h → GoogleMaps/RNMGoogleMapMarkerManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.m → GoogleMaps/RNMGoogleMapMarkerManager.m} +20 -20
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.h → GoogleMaps/RNMGoogleMapOverlay.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.m → GoogleMaps/RNMGoogleMapOverlay.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.h → GoogleMaps/RNMGoogleMapOverlayManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.m → GoogleMaps/RNMGoogleMapOverlayManager.m} +6 -6
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.h → GoogleMaps/RNMGoogleMapPolygon.h} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.m → GoogleMaps/RNMGoogleMapPolygon.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.h → GoogleMaps/RNMGoogleMapPolygonManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.m → GoogleMaps/RNMGoogleMapPolygonManager.m} +10 -10
- package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.h → GoogleMaps/RNMGoogleMapPolyline.h} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.m → GoogleMaps/RNMGoogleMapPolyline.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.h → GoogleMaps/RNMGoogleMapPolylineManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.m → GoogleMaps/RNMGoogleMapPolylineManager.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.h → GoogleMaps/RNMGoogleMapUrlTile.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.m → GoogleMaps/RNMGoogleMapUrlTile.m} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTileManager.h → GoogleMaps/RNMGoogleMapUrlTileManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m} +7 -7
- package/ios/GoogleMaps/RNMGoogleMapViewModule.h +5 -0
- package/ios/GoogleMaps/RNMGoogleMapViewModule.m +380 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.h → GoogleMaps/RNMGoogleMapWMSTile.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.m → GoogleMaps/RNMGoogleMapWMSTile.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m} +8 -8
- package/ios/{AirMaps → Maps}/Callout/SMCalloutView.h +4 -4
- package/ios/{AirMaps/RCTConvert+AirMap.h → Maps/RCTConvert+RNMMap.h} +1 -1
- package/ios/{AirMaps/RCTConvert+AirMap.m → Maps/RCTConvert+RNMMap.m} +8 -8
- package/ios/{AirMaps/AIRMap.h → Maps/RNMMap.h} +8 -8
- package/ios/{AirMaps/AIRMap.m → Maps/RNMMap.m} +56 -56
- package/ios/{AirMaps/AIRMapCallout.h → Maps/RNMMapCallout.h} +1 -1
- package/ios/{AirMaps/AIRMapCallout.m → Maps/RNMMapCallout.m} +2 -2
- package/ios/{AirMaps/AIRMapCircleManager.h → Maps/RNMMapCalloutManager.h} +2 -2
- package/ios/{AirMaps/AIRMapCalloutManager.m → Maps/RNMMapCalloutManager.m} +7 -7
- package/ios/{AirMaps/AIRMapCalloutSubview.h → Maps/RNMMapCalloutSubview.h} +3 -3
- package/ios/{AirMaps/AIRMapCalloutSubview.m → Maps/RNMMapCalloutSubview.m} +4 -4
- package/ios/Maps/RNMMapCalloutSubviewManager.h +14 -0
- package/ios/Maps/RNMMapCalloutSubviewManager.m +24 -0
- package/ios/{AirMaps/AIRMapCircle.h → Maps/RNMMapCircle.h} +5 -5
- package/ios/{AirMaps/AIRMapCircle.m → Maps/RNMMapCircle.m} +3 -3
- package/ios/{AirMaps/AIRMapCalloutManager.h → Maps/RNMMapCircleManager.h} +2 -2
- package/ios/{AirMaps/AIRMapCircleManager.m → Maps/RNMMapCircleManager.m} +7 -7
- package/ios/{AirMaps/AIRMapCoordinate.h → Maps/RNMMapCoordinate.h} +2 -2
- package/ios/{AirMaps/AIRMapCoordinate.m → Maps/RNMMapCoordinate.m} +3 -3
- package/ios/{AirMaps/AIRMapLocalTile.h → Maps/RNMMapLocalTile.h} +7 -7
- package/ios/{AirMaps/AIRMapLocalTile.m → Maps/RNMMapLocalTile.m} +6 -6
- package/ios/{AirMaps/AIRMapLocalTileManager.h → Maps/RNMMapLocalTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapLocalTileManager.m → Maps/RNMMapLocalTileManager.m} +9 -9
- package/ios/{AirMaps/AIRMapLocalTileOverlay.h → Maps/RNMMapLocalTileOverlay.h} +2 -2
- package/ios/{AirMaps/AIRMapLocalTileOverlay.m → Maps/RNMMapLocalTileOverlay.m} +5 -5
- package/ios/{AirMaps/AIRMapManager.h → Maps/RNMMapManager.h} +6 -6
- package/ios/Maps/RNMMapManager.m +857 -0
- package/ios/{AirMaps/AIRMapMarker.h → Maps/RNMMapMarker.h} +8 -8
- package/ios/{AirMaps/AIRMapMarker.m → Maps/RNMMapMarker.m} +13 -13
- package/ios/{AirMaps/AIRMapMarkerManager.h → Maps/RNMMapMarkerManager.h} +1 -1
- package/ios/{AirMaps/AIRMapMarkerManager.m → Maps/RNMMapMarkerManager.m} +14 -14
- package/ios/{AirMaps/AIRMapOverlay.h → Maps/RNMMapOverlay.h} +7 -7
- package/ios/{AirMaps/AIRMapOverlay.m → Maps/RNMMapOverlay.m} +4 -4
- package/ios/Maps/RNMMapOverlayManager.h +5 -0
- package/ios/{AirMaps/AIRMapOverlayManager.m → Maps/RNMMapOverlayManager.m} +6 -6
- package/ios/{AirMaps/AIRMapOverlayRenderer.h → Maps/RNMMapOverlayRenderer.h} +1 -1
- package/ios/{AirMaps/AIRMapOverlayRenderer.m → Maps/RNMMapOverlayRenderer.m} +5 -5
- package/ios/{AirMaps/AIRMapPolygon.h → Maps/RNMMapPolygon.h} +7 -7
- package/ios/{AirMaps/AIRMapPolygon.m → Maps/RNMMapPolygon.m} +4 -4
- package/ios/{AirMaps/AIRMapPolygonManager.h → Maps/RNMMapPolygonManager.h} +2 -2
- package/ios/{AirMaps/AIRMapPolygonManager.m → Maps/RNMMapPolygonManager.m} +10 -10
- package/ios/{AirMaps/AIRMapPolyline.h → Maps/RNMMapPolyline.h} +6 -6
- package/ios/{AirMaps/AIRMapPolyline.m → Maps/RNMMapPolyline.m} +11 -11
- package/ios/{AirMaps/AIRMapPolylineManager.h → Maps/RNMMapPolylineManager.h} +2 -2
- package/ios/{AirMaps/AIRMapPolylineManager.m → Maps/RNMMapPolylineManager.m} +9 -9
- package/ios/{AirMaps/AIRMapPolylineRenderer.h → Maps/RNMMapPolylineRenderer.h} +2 -2
- package/ios/{AirMaps/AIRMapPolylineRenderer.m → Maps/RNMMapPolylineRenderer.m} +10 -10
- package/ios/{AirMaps/AIRMapSnapshot.h → Maps/RNMMapSnapshot.h} +6 -6
- package/ios/{AirMaps/AIRMapUrlTile.h → Maps/RNMMapUrlTile.h} +18 -18
- package/ios/{AirMaps/AIRMapUrlTile.m → Maps/RNMMapUrlTile.m} +7 -7
- package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.h → Maps/RNMMapUrlTileCachedOverlay.h} +3 -3
- package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.m → Maps/RNMMapUrlTileCachedOverlay.m} +10 -10
- package/ios/{AirMaps/AIRMapUrlTileManager.h → Maps/RNMMapUrlTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapUrlTileManager.m → Maps/RNMMapUrlTileManager.m} +9 -9
- package/ios/Maps/RNMMapViewModule.h +5 -0
- package/ios/Maps/RNMMapViewModule.m +459 -0
- package/ios/{AirMaps/AIRMapWMSTile.h → Maps/RNMMapWMSTile.h} +11 -11
- package/ios/{AirMaps/AIRMapWMSTile.m → Maps/RNMMapWMSTile.m} +15 -15
- package/ios/{AirMaps/AIRMapWMSTileManager.h → Maps/RNMMapWMSTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapWMSTileManager.m → Maps/RNMMapWMSTileManager.m} +9 -9
- package/ios/RNMaps.xcodeproj/project.pbxproj +647 -0
- package/lib/MapCallout.js +2 -2
- package/lib/MapCalloutSubview.js +2 -2
- package/lib/MapCircle.js +2 -2
- package/lib/MapHeatmap.js +2 -2
- package/lib/MapLocalTile.js +2 -2
- package/lib/MapMarker.js +2 -2
- package/lib/MapOverlay.js +2 -2
- package/lib/MapPolygon.js +2 -2
- package/lib/MapPolyline.js +2 -2
- package/lib/MapUrlTile.js +2 -2
- package/lib/MapView.d.ts +7 -8
- package/lib/MapView.js +89 -97
- package/lib/MapView.types.d.ts +8 -2
- package/lib/MapViewNativeComponent.d.ts +2 -7
- package/lib/MapViewNativeComponent.js +0 -5
- package/lib/MapWMSTile.js +2 -2
- package/lib/NativeGoogleMapViewModule.d.ts +25 -0
- package/lib/NativeGoogleMapViewModule.js +4 -0
- package/lib/NativeMapViewModule.d.ts +29 -0
- package/lib/NativeMapViewModule.js +4 -0
- package/lib/decorateMapComponent.d.ts +1 -1
- package/lib/decorateMapComponent.js +3 -3
- package/package.json +1 -1
- package/react-native-google-maps.podspec +1 -1
- package/react-native-maps.podspec +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +0 -380
- package/ios/AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.m +0 -28
- package/ios/AirGoogleMaps/AIRGoogleMapHeatmapManager.h +0 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -597
- package/ios/AirMaps/AIRMapCalloutSubviewManager.h +0 -14
- package/ios/AirMaps/AIRMapCalloutSubviewManager.m +0 -24
- package/ios/AirMaps/AIRMapManager.m +0 -1253
- package/ios/AirMaps/AIRMapOverlayManager.h +0 -5
- package/ios/AirMaps/AIRWeakMapReference.h +0 -24
- package/ios/AirMaps/AIRWeakMapReference.m +0 -23
- package/ios/AirMaps/AIRWeakTimerReference.h +0 -21
- package/ios/AirMaps/AIRWeakTimerReference.m +0 -42
- package/ios/AirMaps.xcodeproj/project.pbxproj +0 -587
- /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.h +0 -0
- /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.m +0 -0
- /package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +0 -0
|
@@ -1,597 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// AIRGoogleMapManager.m
|
|
3
|
-
// AirMaps
|
|
4
|
-
//
|
|
5
|
-
// Created by Gil Birman on 9/1/16.
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
#ifdef HAVE_GOOGLE_MAPS
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
#import "AIRGoogleMapManager.h"
|
|
12
|
-
#import <React/RCTViewManager.h>
|
|
13
|
-
#import <React/RCTBridge.h>
|
|
14
|
-
#import <React/RCTUIManager.h>
|
|
15
|
-
#import <React/RCTConvert+CoreLocation.h>
|
|
16
|
-
#import <React/RCTEventDispatcher.h>
|
|
17
|
-
#import <React/RCTViewManager.h>
|
|
18
|
-
#import <React/RCTConvert.h>
|
|
19
|
-
#import <React/UIView+React.h>
|
|
20
|
-
#import "RCTConvert+GMSMapViewType.h"
|
|
21
|
-
#import "AIRGoogleMap.h"
|
|
22
|
-
#import "AIRMapMarker.h"
|
|
23
|
-
#import "AIRMapPolyline.h"
|
|
24
|
-
#import "AIRMapPolygon.h"
|
|
25
|
-
#import "AIRMapCircle.h"
|
|
26
|
-
#import "SMCalloutView.h"
|
|
27
|
-
#import "AIRGoogleMapMarker.h"
|
|
28
|
-
#import "RCTConvert+AirMap.h"
|
|
29
|
-
|
|
30
|
-
#import <MapKit/MapKit.h>
|
|
31
|
-
#import <QuartzCore/QuartzCore.h>
|
|
32
|
-
|
|
33
|
-
static NSString *const RCTMapViewKey = @"MapView";
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@interface AIRGoogleMapManager() <GMSMapViewDelegate>
|
|
37
|
-
{
|
|
38
|
-
BOOL didCallOnMapReady;
|
|
39
|
-
}
|
|
40
|
-
@end
|
|
41
|
-
|
|
42
|
-
@implementation AIRGoogleMapManager
|
|
43
|
-
|
|
44
|
-
RCT_EXPORT_MODULE()
|
|
45
|
-
|
|
46
|
-
- (UIView *)view
|
|
47
|
-
{
|
|
48
|
-
[GMSServices setMetalRendererEnabled:YES];
|
|
49
|
-
|
|
50
|
-
AIRGoogleMap *map = [AIRGoogleMap new];
|
|
51
|
-
map.bridge = self.bridge;
|
|
52
|
-
map.delegate = self;
|
|
53
|
-
map.isAccessibilityElement = NO;
|
|
54
|
-
map.accessibilityElementsHidden = NO;
|
|
55
|
-
map.settings.consumesGesturesInView = NO;
|
|
56
|
-
|
|
57
|
-
UIPanGestureRecognizer *drag = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleMapDrag:)];
|
|
58
|
-
[drag setMinimumNumberOfTouches:1];
|
|
59
|
-
[drag setMaximumNumberOfTouches:1];
|
|
60
|
-
[map addGestureRecognizer:drag];
|
|
61
|
-
|
|
62
|
-
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handleMapDrag:)];
|
|
63
|
-
[map addGestureRecognizer:pinch];
|
|
64
|
-
|
|
65
|
-
return map;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
RCT_EXPORT_VIEW_PROPERTY(isAccessibilityElement, BOOL)
|
|
69
|
-
RCT_REMAP_VIEW_PROPERTY(testID, accessibilityIdentifier, NSString)
|
|
70
|
-
RCT_EXPORT_VIEW_PROPERTY(initialCamera, GMSCameraPosition)
|
|
71
|
-
RCT_REMAP_VIEW_PROPERTY(camera, cameraProp, GMSCameraPosition)
|
|
72
|
-
RCT_EXPORT_VIEW_PROPERTY(initialRegion, MKCoordinateRegion)
|
|
73
|
-
RCT_EXPORT_VIEW_PROPERTY(region, MKCoordinateRegion)
|
|
74
|
-
RCT_EXPORT_VIEW_PROPERTY(showsBuildings, BOOL)
|
|
75
|
-
RCT_EXPORT_VIEW_PROPERTY(showsCompass, BOOL)
|
|
76
|
-
//RCT_EXPORT_VIEW_PROPERTY(showsScale, BOOL) // Not supported by GoogleMaps
|
|
77
|
-
RCT_EXPORT_VIEW_PROPERTY(showsTraffic, BOOL)
|
|
78
|
-
RCT_EXPORT_VIEW_PROPERTY(zoomEnabled, BOOL)
|
|
79
|
-
RCT_EXPORT_VIEW_PROPERTY(rotateEnabled, BOOL)
|
|
80
|
-
RCT_EXPORT_VIEW_PROPERTY(scrollEnabled, BOOL)
|
|
81
|
-
RCT_EXPORT_VIEW_PROPERTY(scrollDuringRotateOrZoomEnabled, BOOL)
|
|
82
|
-
RCT_EXPORT_VIEW_PROPERTY(pitchEnabled, BOOL)
|
|
83
|
-
RCT_EXPORT_VIEW_PROPERTY(zoomTapEnabled, BOOL)
|
|
84
|
-
RCT_EXPORT_VIEW_PROPERTY(showsUserLocation, BOOL)
|
|
85
|
-
RCT_EXPORT_VIEW_PROPERTY(showsMyLocationButton, BOOL)
|
|
86
|
-
RCT_EXPORT_VIEW_PROPERTY(showsIndoors, BOOL)
|
|
87
|
-
RCT_EXPORT_VIEW_PROPERTY(showsIndoorLevelPicker, BOOL)
|
|
88
|
-
RCT_EXPORT_VIEW_PROPERTY(customMapStyleString, NSString)
|
|
89
|
-
RCT_EXPORT_VIEW_PROPERTY(mapPadding, UIEdgeInsets)
|
|
90
|
-
RCT_REMAP_VIEW_PROPERTY(paddingAdjustmentBehavior, paddingAdjustmentBehaviorString, NSString)
|
|
91
|
-
RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTBubblingEventBlock)
|
|
92
|
-
RCT_EXPORT_VIEW_PROPERTY(onMapLoaded, RCTBubblingEventBlock)
|
|
93
|
-
RCT_EXPORT_VIEW_PROPERTY(onKmlReady, RCTBubblingEventBlock)
|
|
94
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
95
|
-
RCT_EXPORT_VIEW_PROPERTY(onLongPress, RCTBubblingEventBlock)
|
|
96
|
-
RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTBubblingEventBlock)
|
|
97
|
-
RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTBubblingEventBlock)
|
|
98
|
-
RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
|
|
99
|
-
RCT_EXPORT_VIEW_PROPERTY(onMarkerPress, RCTDirectEventBlock)
|
|
100
|
-
RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
|
|
101
|
-
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
|
|
102
|
-
RCT_EXPORT_VIEW_PROPERTY(onPoiClick, RCTDirectEventBlock)
|
|
103
|
-
RCT_EXPORT_VIEW_PROPERTY(onIndoorLevelActivated, RCTDirectEventBlock)
|
|
104
|
-
RCT_EXPORT_VIEW_PROPERTY(onIndoorBuildingFocused, RCTDirectEventBlock)
|
|
105
|
-
RCT_EXPORT_VIEW_PROPERTY(mapType, GMSMapViewType)
|
|
106
|
-
RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, CGFloat)
|
|
107
|
-
RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, CGFloat)
|
|
108
|
-
RCT_EXPORT_VIEW_PROPERTY(kmlSrc, NSString)
|
|
109
|
-
|
|
110
|
-
RCT_EXPORT_METHOD(getCamera:(nonnull NSNumber *)reactTag
|
|
111
|
-
resolver: (RCTPromiseResolveBlock)resolve
|
|
112
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
113
|
-
{
|
|
114
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
115
|
-
id view = viewRegistry[reactTag];
|
|
116
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
117
|
-
reject(@"Invalid argument", [NSString stringWithFormat:@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view], NULL);
|
|
118
|
-
} else {
|
|
119
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
120
|
-
resolve(@{
|
|
121
|
-
@"center": @{
|
|
122
|
-
@"latitude": @(mapView.camera.target.latitude),
|
|
123
|
-
@"longitude": @(mapView.camera.target.longitude),
|
|
124
|
-
},
|
|
125
|
-
@"pitch": @(mapView.camera.viewingAngle),
|
|
126
|
-
@"heading": @(mapView.camera.bearing),
|
|
127
|
-
@"zoom": @(mapView.camera.zoom),
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
}];
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
RCT_EXPORT_METHOD(setCamera:(nonnull NSNumber *)reactTag
|
|
134
|
-
camera:(id)json)
|
|
135
|
-
{
|
|
136
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
137
|
-
id view = viewRegistry[reactTag];
|
|
138
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
139
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
140
|
-
} else {
|
|
141
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
142
|
-
GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
|
|
143
|
-
[mapView setCamera:camera];
|
|
144
|
-
}
|
|
145
|
-
}];
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
RCT_EXPORT_METHOD(animateCamera:(nonnull NSNumber *)reactTag
|
|
150
|
-
withCamera:(id)json
|
|
151
|
-
withDuration:(CGFloat)duration)
|
|
152
|
-
{
|
|
153
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
154
|
-
id view = viewRegistry[reactTag];
|
|
155
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
156
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
157
|
-
} else {
|
|
158
|
-
[CATransaction begin];
|
|
159
|
-
[CATransaction setAnimationDuration:duration/1000];
|
|
160
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
161
|
-
GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
|
|
162
|
-
[mapView animateToCameraPosition:camera];
|
|
163
|
-
[CATransaction commit];
|
|
164
|
-
}
|
|
165
|
-
}];
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
RCT_EXPORT_METHOD(animateToRegion:(nonnull NSNumber *)reactTag
|
|
169
|
-
withRegion:(MKCoordinateRegion)region
|
|
170
|
-
withDuration:(CGFloat)duration)
|
|
171
|
-
{
|
|
172
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
173
|
-
id view = viewRegistry[reactTag];
|
|
174
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
175
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
176
|
-
} else {
|
|
177
|
-
// Core Animation must be used to control the animation's duration
|
|
178
|
-
// See http://stackoverflow.com/a/15663039/171744
|
|
179
|
-
[CATransaction begin];
|
|
180
|
-
[CATransaction setAnimationDuration:duration/1000];
|
|
181
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
182
|
-
GMSCameraPosition *camera = [AIRGoogleMap makeGMSCameraPositionFromMap:mapView andMKCoordinateRegion:region];
|
|
183
|
-
[mapView animateToCameraPosition:camera];
|
|
184
|
-
[CATransaction commit];
|
|
185
|
-
}
|
|
186
|
-
}];
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag
|
|
190
|
-
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
191
|
-
animated:(BOOL)animated)
|
|
192
|
-
{
|
|
193
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
194
|
-
id view = viewRegistry[reactTag];
|
|
195
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
196
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
197
|
-
} else {
|
|
198
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
199
|
-
|
|
200
|
-
CLLocationCoordinate2D myLocation = ((AIRGoogleMapMarker *)(mapView.markers.firstObject)).realMarker.position;
|
|
201
|
-
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
202
|
-
|
|
203
|
-
for (AIRGoogleMapMarker *marker in mapView.markers)
|
|
204
|
-
bounds = [bounds includingCoordinate:marker.realMarker.position];
|
|
205
|
-
|
|
206
|
-
GMSCameraUpdate* cameraUpdate;
|
|
207
|
-
|
|
208
|
-
if ([edgePadding count] != 0) {
|
|
209
|
-
// Set Map viewport
|
|
210
|
-
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
211
|
-
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
212
|
-
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
213
|
-
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
214
|
-
|
|
215
|
-
cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
216
|
-
} else {
|
|
217
|
-
cameraUpdate = [GMSCameraUpdate fitBounds:bounds withPadding:55.0f];
|
|
218
|
-
}
|
|
219
|
-
if (animated) {
|
|
220
|
-
[mapView animateWithCameraUpdate: cameraUpdate];
|
|
221
|
-
} else {
|
|
222
|
-
[mapView moveCamera: cameraUpdate];
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}];
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
RCT_EXPORT_METHOD(fitToSuppliedMarkers:(nonnull NSNumber *)reactTag
|
|
229
|
-
markers:(nonnull NSArray *)markers
|
|
230
|
-
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
231
|
-
animated:(BOOL)animated)
|
|
232
|
-
{
|
|
233
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
234
|
-
id view = viewRegistry[reactTag];
|
|
235
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
236
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
237
|
-
} else {
|
|
238
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
239
|
-
|
|
240
|
-
NSPredicate *filterMarkers = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
|
|
241
|
-
AIRGoogleMapMarker *marker = (AIRGoogleMapMarker *)evaluatedObject;
|
|
242
|
-
return [marker isKindOfClass:[AIRGoogleMapMarker class]] && [markers containsObject:marker.identifier];
|
|
243
|
-
}];
|
|
244
|
-
|
|
245
|
-
NSArray *filteredMarkers = [mapView.markers filteredArrayUsingPredicate:filterMarkers];
|
|
246
|
-
|
|
247
|
-
CLLocationCoordinate2D myLocation = ((AIRGoogleMapMarker *)(filteredMarkers.firstObject)).realMarker.position;
|
|
248
|
-
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
249
|
-
|
|
250
|
-
for (AIRGoogleMapMarker *marker in filteredMarkers)
|
|
251
|
-
bounds = [bounds includingCoordinate:marker.realMarker.position];
|
|
252
|
-
|
|
253
|
-
// Set Map viewport
|
|
254
|
-
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
255
|
-
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
256
|
-
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
257
|
-
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
258
|
-
|
|
259
|
-
GMSCameraUpdate* cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
260
|
-
if (animated) {
|
|
261
|
-
[mapView animateWithCameraUpdate:cameraUpdate
|
|
262
|
-
];
|
|
263
|
-
} else {
|
|
264
|
-
[mapView moveCamera: cameraUpdate];
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}];
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
RCT_EXPORT_METHOD(fitToCoordinates:(nonnull NSNumber *)reactTag
|
|
271
|
-
coordinates:(nonnull NSArray<AIRMapCoordinate *> *)coordinates
|
|
272
|
-
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
273
|
-
animated:(BOOL)animated)
|
|
274
|
-
{
|
|
275
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
276
|
-
id view = viewRegistry[reactTag];
|
|
277
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
278
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
279
|
-
} else {
|
|
280
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
281
|
-
|
|
282
|
-
CLLocationCoordinate2D myLocation = coordinates.firstObject.coordinate;
|
|
283
|
-
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
284
|
-
|
|
285
|
-
for (AIRMapCoordinate *coordinate in coordinates)
|
|
286
|
-
bounds = [bounds includingCoordinate:coordinate.coordinate];
|
|
287
|
-
|
|
288
|
-
// Set Map viewport
|
|
289
|
-
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
290
|
-
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
291
|
-
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
292
|
-
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
293
|
-
|
|
294
|
-
GMSCameraUpdate *cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
295
|
-
|
|
296
|
-
if (animated) {
|
|
297
|
-
[mapView animateWithCameraUpdate: cameraUpdate];
|
|
298
|
-
} else {
|
|
299
|
-
[mapView moveCamera: cameraUpdate];
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}];
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
|
|
306
|
-
withWidth:(nonnull NSNumber *)width
|
|
307
|
-
withHeight:(nonnull NSNumber *)height
|
|
308
|
-
withRegion:(MKCoordinateRegion)region
|
|
309
|
-
format:(nonnull NSString *)format
|
|
310
|
-
quality:(nonnull NSNumber *)quality
|
|
311
|
-
result:(nonnull NSString *)result
|
|
312
|
-
withCallback:(RCTResponseSenderBlock)callback)
|
|
313
|
-
{
|
|
314
|
-
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
|
|
315
|
-
NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
|
|
316
|
-
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
|
|
317
|
-
|
|
318
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
319
|
-
id view = viewRegistry[reactTag];
|
|
320
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
321
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
|
|
322
|
-
} else {
|
|
323
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
324
|
-
|
|
325
|
-
// TODO: currently we are ignoring width, height, region
|
|
326
|
-
|
|
327
|
-
UIGraphicsBeginImageContextWithOptions(mapView.frame.size, YES, 0.0f);
|
|
328
|
-
[mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
|
|
329
|
-
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
|
|
330
|
-
|
|
331
|
-
NSData *data;
|
|
332
|
-
if ([format isEqualToString:@"png"]) {
|
|
333
|
-
data = UIImagePNGRepresentation(image);
|
|
334
|
-
|
|
335
|
-
}
|
|
336
|
-
else if([format isEqualToString:@"jpg"]) {
|
|
337
|
-
data = UIImageJPEGRepresentation(image, quality.floatValue);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
if ([result isEqualToString:@"file"]) {
|
|
341
|
-
[data writeToFile:filePath atomically:YES];
|
|
342
|
-
callback(@[[NSNull null], filePath]);
|
|
343
|
-
}
|
|
344
|
-
else if ([result isEqualToString:@"base64"]) {
|
|
345
|
-
callback(@[[NSNull null], [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]]);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
UIGraphicsEndImageContext();
|
|
349
|
-
}];
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
RCT_EXPORT_METHOD(pointForCoordinate:(nonnull NSNumber *)reactTag
|
|
353
|
-
coordinate:(NSDictionary *)coordinate
|
|
354
|
-
resolver: (RCTPromiseResolveBlock)resolve
|
|
355
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
356
|
-
{
|
|
357
|
-
CLLocationCoordinate2D coord =
|
|
358
|
-
CLLocationCoordinate2DMake(
|
|
359
|
-
[coordinate[@"latitude"] doubleValue],
|
|
360
|
-
[coordinate[@"longitude"] doubleValue]
|
|
361
|
-
);
|
|
362
|
-
|
|
363
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
364
|
-
id view = viewRegistry[reactTag];
|
|
365
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
366
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
|
|
367
|
-
} else {
|
|
368
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
369
|
-
|
|
370
|
-
CGPoint touchPoint = [mapView.projection pointForCoordinate:coord];
|
|
371
|
-
|
|
372
|
-
resolve(@{
|
|
373
|
-
@"x": @(touchPoint.x),
|
|
374
|
-
@"y": @(touchPoint.y),
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
}];
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
RCT_EXPORT_METHOD(coordinateForPoint:(nonnull NSNumber *)reactTag
|
|
381
|
-
point:(NSDictionary *)point
|
|
382
|
-
resolver: (RCTPromiseResolveBlock)resolve
|
|
383
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
384
|
-
{
|
|
385
|
-
CGPoint pt = CGPointMake(
|
|
386
|
-
[point[@"x"] doubleValue],
|
|
387
|
-
[point[@"y"] doubleValue]
|
|
388
|
-
);
|
|
389
|
-
|
|
390
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
391
|
-
id view = viewRegistry[reactTag];
|
|
392
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
393
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
|
|
394
|
-
} else {
|
|
395
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
396
|
-
|
|
397
|
-
CLLocationCoordinate2D coordinate = [mapView.projection coordinateForPoint:pt];
|
|
398
|
-
|
|
399
|
-
resolve(@{
|
|
400
|
-
@"latitude": @(coordinate.latitude),
|
|
401
|
-
@"longitude": @(coordinate.longitude),
|
|
402
|
-
});
|
|
403
|
-
}
|
|
404
|
-
}];
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
RCT_EXPORT_METHOD(getMarkersFrames:(nonnull NSNumber *)reactTag
|
|
408
|
-
onlyVisible:(BOOL)onlyVisible
|
|
409
|
-
resolver: (RCTPromiseResolveBlock)resolve
|
|
410
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
411
|
-
{
|
|
412
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
413
|
-
id view = viewRegistry[reactTag];
|
|
414
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
415
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
|
|
416
|
-
} else {
|
|
417
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
418
|
-
resolve([mapView getMarkersFramesWithOnlyVisible:onlyVisible]);
|
|
419
|
-
}
|
|
420
|
-
}];
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
RCT_EXPORT_METHOD(getMapBoundaries:(nonnull NSNumber *)reactTag
|
|
424
|
-
resolver:(RCTPromiseResolveBlock)resolve
|
|
425
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
426
|
-
{
|
|
427
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
428
|
-
id view = viewRegistry[reactTag];
|
|
429
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
430
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
431
|
-
} else {
|
|
432
|
-
NSArray *boundingBox = [view getMapBoundaries];
|
|
433
|
-
|
|
434
|
-
resolve(@{
|
|
435
|
-
@"northEast" : @{
|
|
436
|
-
@"longitude" : boundingBox[0][0],
|
|
437
|
-
@"latitude" : boundingBox[0][1]
|
|
438
|
-
},
|
|
439
|
-
@"southWest" : @{
|
|
440
|
-
@"longitude" : boundingBox[1][0],
|
|
441
|
-
@"latitude" : boundingBox[1][1]
|
|
442
|
-
}
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
}];
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
RCT_EXPORT_METHOD(setMapBoundaries:(nonnull NSNumber *)reactTag
|
|
449
|
-
northEast:(CLLocationCoordinate2D)northEast
|
|
450
|
-
southWest:(CLLocationCoordinate2D)southWest)
|
|
451
|
-
{
|
|
452
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
453
|
-
id view = viewRegistry[reactTag];
|
|
454
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
455
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
456
|
-
} else {
|
|
457
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
458
|
-
|
|
459
|
-
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:northEast coordinate:southWest];
|
|
460
|
-
|
|
461
|
-
mapView.cameraTargetBounds = bounds;
|
|
462
|
-
}
|
|
463
|
-
}];
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
RCT_EXPORT_METHOD(setIndoorActiveLevelIndex:(nonnull NSNumber *)reactTag
|
|
467
|
-
levelIndex:(NSInteger) levelIndex)
|
|
468
|
-
{
|
|
469
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
470
|
-
id view = viewRegistry[reactTag];
|
|
471
|
-
if (![view isKindOfClass:[AIRGoogleMap class]]) {
|
|
472
|
-
RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
|
|
473
|
-
} else {
|
|
474
|
-
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
475
|
-
if (!mapView.indoorDisplay) {
|
|
476
|
-
return;
|
|
477
|
-
}
|
|
478
|
-
if ( levelIndex < [mapView.indoorDisplay.activeBuilding.levels count]) {
|
|
479
|
-
mapView.indoorDisplay.activeLevel = mapView.indoorDisplay.activeBuilding.levels[levelIndex];
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}];
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
+ (BOOL)requiresMainQueueSetup {
|
|
486
|
-
return YES;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
- (NSDictionary *)constantsToExport {
|
|
490
|
-
return @{ @"legalNotice": [GMSServices openSourceLicenseInfo] };
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
- (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture{
|
|
494
|
-
self.isGesture = gesture;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
- (void)mapViewDidStartTileRendering:(GMSMapView *)mapView {
|
|
498
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
499
|
-
[googleMapView didPrepareMap];
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
- (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView {
|
|
503
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
504
|
-
[googleMapView mapViewDidFinishTileRendering];
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
|
|
508
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
509
|
-
return [googleMapView didTapMarker:marker];
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
- (void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSPolygon *)polygon {
|
|
513
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
514
|
-
[googleMapView didTapPolygon:polygon];
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
518
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
519
|
-
[googleMapView didTapAtCoordinate:coordinate];
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
- (void)mapView:(GMSMapView *)mapView didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
523
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
524
|
-
[googleMapView didLongPressAtCoordinate:coordinate];
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {
|
|
528
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
529
|
-
[googleMapView didChangeCameraPosition:position isGesture:self.isGesture];
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position {
|
|
533
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
534
|
-
[googleMapView idleAtCameraPosition:position isGesture:self.isGesture];
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
|
|
538
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
539
|
-
return [aMarker.fakeMarker markerInfoWindow];}
|
|
540
|
-
|
|
541
|
-
- (UIView *)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker {
|
|
542
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
543
|
-
return [aMarker.fakeMarker markerInfoContents];
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker {
|
|
547
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
548
|
-
[aMarker.fakeMarker didTapInfoWindowOfMarker:aMarker];
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
- (void)mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker {
|
|
552
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
553
|
-
[aMarker.fakeMarker didBeginDraggingMarker:aMarker];
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
- (void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker {
|
|
557
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
558
|
-
[aMarker.fakeMarker didEndDraggingMarker:aMarker];
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
- (void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker {
|
|
562
|
-
AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
|
|
563
|
-
[aMarker.fakeMarker didDragMarker:aMarker];
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
- (void)mapView:(GMSMapView *)mapView
|
|
567
|
-
didTapPOIWithPlaceID:(NSString *)placeID
|
|
568
|
-
name:(NSString *)name
|
|
569
|
-
location:(CLLocationCoordinate2D)location {
|
|
570
|
-
AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
|
|
571
|
-
[googleMapView didTapPOIWithPlaceID:placeID name:name location:location];
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
#pragma mark Gesture Recognizer Handlers
|
|
575
|
-
|
|
576
|
-
- (void)handleMapDrag:(UIPanGestureRecognizer*)recognizer {
|
|
577
|
-
AIRGoogleMap *map = (AIRGoogleMap *)recognizer.view;
|
|
578
|
-
if (!map.onPanDrag) return;
|
|
579
|
-
|
|
580
|
-
CGPoint touchPoint = [recognizer locationInView:map];
|
|
581
|
-
CLLocationCoordinate2D coord = [map.projection coordinateForPoint:touchPoint];
|
|
582
|
-
map.onPanDrag(@{
|
|
583
|
-
@"coordinate": @{
|
|
584
|
-
@"latitude": @(coord.latitude),
|
|
585
|
-
@"longitude": @(coord.longitude),
|
|
586
|
-
},
|
|
587
|
-
@"position": @{
|
|
588
|
-
@"x": @(touchPoint.x),
|
|
589
|
-
@"y": @(touchPoint.y),
|
|
590
|
-
},
|
|
591
|
-
});
|
|
592
|
-
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
@end
|
|
596
|
-
|
|
597
|
-
#endif
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// AIRMapCalloutSubviewManager.m
|
|
3
|
-
// AirMaps
|
|
4
|
-
//
|
|
5
|
-
// Created by Denis Oblogin on 10/8/18.
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "AIRMapCalloutSubviewManager.h"
|
|
10
|
-
#import "AIRMapCalloutSubview.h"
|
|
11
|
-
#import <React/RCTView.h>
|
|
12
|
-
|
|
13
|
-
@implementation AIRMapCalloutSubviewManager
|
|
14
|
-
RCT_EXPORT_MODULE()
|
|
15
|
-
|
|
16
|
-
- (UIView *)view
|
|
17
|
-
{
|
|
18
|
-
AIRMapCalloutSubview *calloutSubview = [AIRMapCalloutSubview new];
|
|
19
|
-
return calloutSubview;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
23
|
-
|
|
24
|
-
@end
|