react-native-maps 1.21.0-alpha.8 → 1.21.0-alpha.80
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/build.gradle +45 -14
- package/android/generated/RCTAppDependencyProvider.h +25 -0
- package/android/generated/RCTAppDependencyProvider.mm +55 -0
- package/android/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/android/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/android/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/android/generated/RCTThirdPartyComponentsProvider.mm +26 -0
- package/android/generated/ReactAppDependencyProvider.podspec +34 -0
- package/android/generated/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +18 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +24 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +40 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +27 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNMapsSpecs-generated.cpp +68 -0
- package/android/generated/jni/RNMapsSpecs.h +31 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +27 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +29 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +940 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +809 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +170 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1142 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +22 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +87 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +89 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradlew +1 -2
- package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
- package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +618 -0
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +259 -0
- package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +156 -4
- package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
- package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +30 -2
- package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
- package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +29 -0
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
- package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
- package/android/src/main/java/com/rnmaps/maps/MapView.java +1649 -1336
- package/ios/AirGoogleMaps/AIRGoogleMap.h +3 -2
- package/ios/AirGoogleMaps/AIRGoogleMap.m +155 -50
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +17 -28
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +3 -3
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +201 -60
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
- package/ios/AirMaps/AIRMap.h +5 -2
- package/ios/AirMaps/AIRMap.m +285 -153
- package/ios/AirMaps/AIRMapManager.m +6 -0
- package/ios/AirMaps/AIRMapMarker.h +1 -0
- package/ios/AirMaps/AIRMapMarker.m +165 -103
- package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
- package/ios/AirMaps/RNMapsAirModule.h +1 -1
- package/ios/AirMaps/RNMapsAirModule.mm +42 -172
- package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
- package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
- package/ios/AirMaps/RNMapsMapView.h +3 -3
- package/ios/AirMaps/RNMapsMapView.mm +340 -308
- package/ios/AirMaps/RNMapsMarkerView.h +24 -0
- package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
- package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
- package/ios/AirMaps/UIView +AirMap.m +20 -0
- package/ios/AirMaps/UIView+AirMap.h +11 -0
- package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +27 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +29 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +940 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.h +809 -0
- package/ios/generated/RNMapsSpecs/Props.cpp +170 -0
- package/ios/generated/RNMapsSpecs/Props.h +1142 -0
- package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +595 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +22 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +87 -0
- package/ios/generated/RNMapsSpecs/States.cpp +16 -0
- package/ios/generated/RNMapsSpecs/States.h +89 -0
- package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
- package/ios/generated/RNMapsSpecsJSI.h +268 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/MapCircle.d.ts +1 -1
- package/lib/MapHeatmap.d.ts +2 -2
- package/lib/MapHeatmap.js +1 -1
- package/lib/MapMarker.d.ts +16 -3
- package/lib/MapMarker.js +53 -9
- package/lib/MapMarkerNativeComponent.js +0 -2
- package/lib/MapOverlay.js +2 -8
- package/lib/MapPolygon.d.ts +1 -1
- package/lib/MapPolyline.d.ts +7 -7
- package/lib/MapView.d.ts +14 -27
- package/lib/MapView.js +97 -103
- package/lib/MapView.types.d.ts +1 -1
- package/lib/createFabricMap.d.ts +1 -0
- package/lib/createFabricMap.js +15 -2
- package/lib/decorateMapComponent.js +30 -0
- package/lib/specs/NativeAirMapsModule.d.ts +2 -2
- package/lib/specs/NativeComponentCallout.d.ts +46 -0
- package/lib/specs/NativeComponentCallout.js +9 -0
- package/lib/specs/NativeComponentGoogleMapView.d.ts +15 -15
- package/lib/specs/NativeComponentGoogleMapView.js +1 -0
- package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
- package/lib/specs/NativeComponentGooglePolygon.js +7 -0
- package/lib/specs/NativeComponentMapView.d.ts +28 -36
- package/lib/specs/NativeComponentMapView.js +2 -3
- package/lib/specs/NativeComponentMarker.d.ts +258 -0
- package/lib/specs/NativeComponentMarker.js +19 -0
- package/lib/specs/NativeComponentPolyline.d.ts +101 -0
- package/lib/specs/NativeComponentPolyline.js +7 -0
- package/package.json +25 -20
- package/react-native-maps.podspec +2 -1
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
@synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED;
|
|
21
21
|
|
|
22
22
|
- (void)executeWithMapView:(double)tag
|
|
23
|
-
success:(void (^)(
|
|
23
|
+
success:(void (^)(id<RNMapsAirModuleDelegate> mapView))success
|
|
24
24
|
reject:(RCTPromiseRejectBlock)reject {
|
|
25
25
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
26
26
|
id view = [_viewRegistry_DEPRECATED viewForReactTag:[NSNumber numberWithDouble:tag]];
|
|
27
|
-
if (
|
|
28
|
-
|
|
27
|
+
if ([view conformsToProtocol:@protocol(RNMapsHostVewDelegate)]) {
|
|
28
|
+
id<RNMapsAirModuleDelegate> mapViewDelegate = [view mapView];
|
|
29
|
+
success(mapViewDelegate);
|
|
29
30
|
} else {
|
|
30
|
-
|
|
31
|
-
success(mapView);
|
|
31
|
+
reject(@"Invalid argument", [NSString stringWithFormat:@"Invalid view returned from registry, expecting RNMapsMapView, got: %@", view], NULL);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
}
|
|
@@ -36,17 +36,8 @@
|
|
|
36
36
|
- (void)getCamera:(double)tag
|
|
37
37
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
38
38
|
reject:(RCTPromiseRejectBlock)reject {
|
|
39
|
-
[self executeWithMapView:tag success:^(
|
|
40
|
-
|
|
41
|
-
resolve(@{
|
|
42
|
-
@"center": @{
|
|
43
|
-
@"latitude": @(camera.centerCoordinate.latitude),
|
|
44
|
-
@"longitude": @(camera.centerCoordinate.longitude),
|
|
45
|
-
},
|
|
46
|
-
@"pitch": @(camera.pitch),
|
|
47
|
-
@"heading": @(camera.heading),
|
|
48
|
-
@"altitude": @(camera.altitude),
|
|
49
|
-
});
|
|
39
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
40
|
+
resolve([mapView getCameraDic]);
|
|
50
41
|
} reject:reject];
|
|
51
42
|
|
|
52
43
|
}
|
|
@@ -56,7 +47,7 @@
|
|
|
56
47
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
57
48
|
reject:(RCTPromiseRejectBlock)reject
|
|
58
49
|
{
|
|
59
|
-
[self executeWithMapView:tag success:^(
|
|
50
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
60
51
|
resolve([mapView getMarkersFramesWithOnlyVisible:onlyVisible]);
|
|
61
52
|
} reject:reject];
|
|
62
53
|
}
|
|
@@ -64,51 +55,21 @@
|
|
|
64
55
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
65
56
|
reject:(RCTPromiseRejectBlock)reject
|
|
66
57
|
{
|
|
67
|
-
[self executeWithMapView:tag success:^(
|
|
58
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
68
59
|
resolve([mapView getMapBoundaries]);
|
|
69
60
|
} reject:reject];
|
|
70
61
|
}
|
|
71
62
|
- (void)takeSnapshot:(double)tag
|
|
72
|
-
config:(
|
|
63
|
+
config:(NSString *)configStr
|
|
73
64
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
74
65
|
reject:(RCTPromiseRejectBlock)reject
|
|
75
66
|
{
|
|
76
|
-
|
|
77
|
-
[self executeWithMapView:tag success:^(
|
|
78
|
-
|
|
79
|
-
MKMapSnapshotOptions *options = [[MKMapSnapshotOptions alloc] init];
|
|
80
|
-
|
|
81
|
-
options.mapType = mapView.mapType;
|
|
82
|
-
NSNumber *width = config[@"width"];
|
|
83
|
-
NSNumber *height = config[@"height"];
|
|
84
|
-
NSNumber *quality = config[@"quality"];
|
|
85
|
-
NSString*format =config[@"format"];
|
|
86
|
-
NSString*result =config[@"result"];
|
|
87
|
-
MKCoordinateRegion region = [RCTConvert MKCoordinateRegion:config[@"region"]];
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
options.region = (region.center.latitude && region.center.longitude) ? region : mapView.region;
|
|
91
|
-
options.size = CGSizeMake(
|
|
92
|
-
([width floatValue] == 0) ? mapView.bounds.size.width : [width floatValue],
|
|
93
|
-
([height floatValue] == 0) ? mapView.bounds.size.height : [height floatValue]
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
options.scale = [[UIScreen mainScreen] scale];
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
MKMapSnapshotter *snapshotter = [[MKMapSnapshotter alloc] initWithOptions:options];
|
|
100
|
-
|
|
101
|
-
[self takeMapSnapshot:mapView
|
|
102
|
-
snapshotter:snapshotter
|
|
103
|
-
format:format
|
|
104
|
-
quality:[quality floatValue]
|
|
105
|
-
result:result
|
|
106
|
-
callback:resolve];
|
|
107
|
-
|
|
67
|
+
NSDictionary* config = [RCTConvert dictonaryFromString:configStr];
|
|
68
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
69
|
+
[mapView takeSnapshotWithConfig:config success:resolve error:reject];
|
|
108
70
|
} reject:reject];
|
|
109
|
-
|
|
110
|
-
|
|
111
71
|
}
|
|
72
|
+
|
|
112
73
|
- (void)getAddressFromCoordinates:(double)tag
|
|
113
74
|
coordinate:(JS::NativeAirMapsModule::LatLng &)coordinate
|
|
114
75
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
@@ -117,32 +78,30 @@
|
|
|
117
78
|
double latitude = coordinate.latitude();
|
|
118
79
|
double longitude = coordinate.longitude();
|
|
119
80
|
|
|
120
|
-
|
|
121
|
-
|
|
81
|
+
|
|
82
|
+
CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude
|
|
122
83
|
longitude:longitude];
|
|
123
|
-
|
|
124
|
-
|
|
84
|
+
CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
|
|
85
|
+
[geoCoder reverseGeocodeLocation:location
|
|
125
86
|
completionHandler:^(NSArray *placemarks, NSError *error) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
} reject:reject];
|
|
87
|
+
if (error == nil && [placemarks count] > 0){
|
|
88
|
+
CLPlacemark *placemark = placemarks[0];
|
|
89
|
+
resolve(@{
|
|
90
|
+
@"name" : [NSString stringWithFormat:@"%@", placemark.name],
|
|
91
|
+
@"thoroughfare" : [NSString stringWithFormat:@"%@", placemark.thoroughfare],
|
|
92
|
+
@"subThoroughfare" : [NSString stringWithFormat:@"%@", placemark.subThoroughfare],
|
|
93
|
+
@"locality" : [NSString stringWithFormat:@"%@", placemark.locality],
|
|
94
|
+
@"subLocality" : [NSString stringWithFormat:@"%@", placemark.subLocality],
|
|
95
|
+
@"administrativeArea" : [NSString stringWithFormat:@"%@", placemark.administrativeArea],
|
|
96
|
+
@"subAdministrativeArea" : [NSString stringWithFormat:@"%@", placemark.subAdministrativeArea],
|
|
97
|
+
@"postalCode" : [NSString stringWithFormat:@"%@", placemark.postalCode],
|
|
98
|
+
@"countryCode" : [NSString stringWithFormat:@"%@", placemark.ISOcountryCode],
|
|
99
|
+
@"country" : [NSString stringWithFormat:@"%@", placemark.country],
|
|
100
|
+
});
|
|
101
|
+
} else {
|
|
102
|
+
reject(@"Invalid argument", [NSString stringWithFormat:@"Can not get address location"], NULL);
|
|
103
|
+
}
|
|
104
|
+
}];
|
|
146
105
|
}
|
|
147
106
|
|
|
148
107
|
- (void)getPointForCoordinate:(double)tag
|
|
@@ -153,16 +112,10 @@
|
|
|
153
112
|
double latitude = coordinate.latitude();
|
|
154
113
|
double longitude = coordinate.longitude();
|
|
155
114
|
|
|
156
|
-
|
|
115
|
+
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(latitude,longitude);
|
|
157
116
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
toPointToView:mapView];
|
|
161
|
-
|
|
162
|
-
resolve(@{
|
|
163
|
-
@"x": @(touchPoint.x),
|
|
164
|
-
@"y": @(touchPoint.y),
|
|
165
|
-
});
|
|
117
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
118
|
+
resolve([mapView getPointForCoordinates:location]);
|
|
166
119
|
|
|
167
120
|
} reject:reject];
|
|
168
121
|
|
|
@@ -174,20 +127,10 @@
|
|
|
174
127
|
{
|
|
175
128
|
double x = point.x();
|
|
176
129
|
double y = point.y();
|
|
177
|
-
|
|
178
|
-
[self executeWithMapView:tag success:^(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
CLLocationCoordinate2D coordinate = [mapView convertPoint:CGPointMake(x,y)
|
|
182
|
-
toCoordinateFromView:mapView];
|
|
183
|
-
|
|
184
|
-
resolve(@{
|
|
185
|
-
@"latitude": @(coordinate.latitude),
|
|
186
|
-
@"longitude": @(coordinate.longitude),
|
|
187
|
-
});
|
|
188
|
-
|
|
130
|
+
CGPoint pt = CGPointMake(x,y);
|
|
131
|
+
[self executeWithMapView:tag success:^(id<RNMapsAirModuleDelegate> mapView) {
|
|
132
|
+
resolve([mapView getCoordinatesForPoint:pt]);
|
|
189
133
|
} reject:reject];
|
|
190
|
-
|
|
191
134
|
|
|
192
135
|
}
|
|
193
136
|
|
|
@@ -201,80 +144,7 @@
|
|
|
201
144
|
return nil;
|
|
202
145
|
}
|
|
203
146
|
|
|
204
|
-
#pragma mark Take Snapshot
|
|
205
|
-
- (void)takeMapSnapshot:(AIRMap *)mapView
|
|
206
|
-
snapshotter:(MKMapSnapshotter *) snapshotter
|
|
207
|
-
format:(NSString *)format
|
|
208
|
-
quality:(CGFloat) quality
|
|
209
|
-
result:(NSString *)result
|
|
210
|
-
callback:(RCTPromiseResolveBlock) callback {
|
|
211
|
-
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
|
|
212
|
-
NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
|
|
213
|
-
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
|
|
214
|
-
|
|
215
|
-
[snapshotter startWithQueue:dispatch_get_main_queue()
|
|
216
|
-
completionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
|
|
217
|
-
if (error) {
|
|
218
|
-
callback(@[error]);
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
MKAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:nil reuseIdentifier:nil];
|
|
222
|
-
|
|
223
|
-
UIImage *image = snapshot.image;
|
|
224
|
-
UIGraphicsBeginImageContextWithOptions(image.size, YES, image.scale);
|
|
225
|
-
{
|
|
226
|
-
[image drawAtPoint:CGPointMake(0.0f, 0.0f)];
|
|
227
|
-
|
|
228
|
-
CGRect rect = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height);
|
|
229
147
|
|
|
230
|
-
for (id <AIRMapSnapshot> overlay in mapView.overlays) {
|
|
231
|
-
if ([overlay respondsToSelector:@selector(drawToSnapshot:context:)]) {
|
|
232
|
-
[overlay drawToSnapshot:snapshot context:UIGraphicsGetCurrentContext()];
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
for (id <MKAnnotation> annotation in mapView.annotations) {
|
|
237
|
-
CGPoint point = [snapshot pointForCoordinate:annotation.coordinate];
|
|
238
|
-
|
|
239
|
-
MKAnnotationView* anView = [mapView viewForAnnotation: annotation];
|
|
240
|
-
|
|
241
|
-
if (anView){
|
|
242
|
-
pin = anView;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
if (CGRectContainsPoint(rect, point)) {
|
|
246
|
-
point.x = point.x + pin.centerOffset.x - (pin.bounds.size.width / 2.0f);
|
|
247
|
-
point.y = point.y + pin.centerOffset.y - (pin.bounds.size.height / 2.0f);
|
|
248
|
-
if (pin.image) {
|
|
249
|
-
[pin.image drawAtPoint:point];
|
|
250
|
-
} else {
|
|
251
|
-
CGRect pinRect = CGRectMake(point.x, point.y, pin.bounds.size.width, pin.bounds.size.height);
|
|
252
|
-
[pin drawViewHierarchyInRect:pinRect afterScreenUpdates:NO];
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
UIImage *compositeImage = UIGraphicsGetImageFromCurrentImageContext();
|
|
258
|
-
|
|
259
|
-
NSData *data;
|
|
260
|
-
if ([format isEqualToString:@"png"]) {
|
|
261
|
-
data = UIImagePNGRepresentation(compositeImage);
|
|
262
|
-
}
|
|
263
|
-
else if([format isEqualToString:@"jpg"]) {
|
|
264
|
-
data = UIImageJPEGRepresentation(compositeImage, quality);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
if ([result isEqualToString:@"file"]) {
|
|
268
|
-
[data writeToFile:filePath atomically:YES];
|
|
269
|
-
callback(filePath);
|
|
270
|
-
}
|
|
271
|
-
else if ([result isEqualToString:@"base64"]) {
|
|
272
|
-
callback([data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
UIGraphicsEndImageContext();
|
|
276
|
-
}];
|
|
277
|
-
}
|
|
278
148
|
|
|
279
149
|
@end
|
|
280
150
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//
|
|
2
|
+
// AIRUrlTileOverlay.h
|
|
3
|
+
// AirMaps
|
|
4
|
+
//
|
|
5
|
+
// Created by cascadian on 3/19/16.
|
|
6
|
+
// Copyright © 2016. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <CoreLocation/CoreLocation.h>
|
|
11
|
+
#import <React/RCTBridge.h>
|
|
12
|
+
|
|
13
|
+
@protocol RNMapsAirModuleDelegate <NSObject>
|
|
14
|
+
@required
|
|
15
|
+
|
|
16
|
+
- (void)takeSnapshotWithConfig:(NSDictionary *)config
|
|
17
|
+
success:(RCTPromiseResolveBlock) success error:(RCTPromiseRejectBlock) error;
|
|
18
|
+
|
|
19
|
+
- (NSDictionary *) getCameraDic;
|
|
20
|
+
- (NSDictionary*) getMarkersFramesWithOnlyVisible:(BOOL)onlyVisible;
|
|
21
|
+
- (NSArray *) getMapBoundaries;
|
|
22
|
+
- (NSDictionary *) getPointForCoordinates:(CLLocationCoordinate2D) location;
|
|
23
|
+
- (NSDictionary *) getCoordinatesForPoint:(CGPoint) point;
|
|
24
|
+
@end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//
|
|
2
|
+
// AIRUrlTileOverlay.h
|
|
3
|
+
// AirMaps
|
|
4
|
+
//
|
|
5
|
+
// Created by cascadian on 3/19/16.
|
|
6
|
+
// Copyright © 2016. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import "RNMapsAirModuleDelegate.h"
|
|
11
|
+
|
|
12
|
+
@protocol RNMapsHostVewDelegate <NSObject>
|
|
13
|
+
@required
|
|
14
|
+
|
|
15
|
+
- (id<RNMapsAirModuleDelegate>) mapView;
|
|
16
|
+
|
|
17
|
+
@end
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
|
|
10
10
|
#import <React/RCTViewComponentView.h>
|
|
11
11
|
#import <UIKit/UIKit.h>
|
|
12
|
+
#import "RNMapsHostVewDelegate.h"
|
|
13
|
+
|
|
12
14
|
@class AIRMap;
|
|
13
15
|
|
|
14
16
|
NS_ASSUME_NONNULL_BEGIN
|
|
15
17
|
|
|
16
|
-
@interface RNMapsMapView : RCTViewComponentView
|
|
17
|
-
|
|
18
|
-
- (AIRMap *) mapView;
|
|
18
|
+
@interface RNMapsMapView : RCTViewComponentView<RNMapsHostVewDelegate>
|
|
19
19
|
|
|
20
20
|
@end
|
|
21
21
|
|