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
package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m}
RENAMED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
2
|
+
// RNMGoogleMapURLTileManager.m
|
|
3
3
|
// Created by Nick Italiano on 11/5/16.
|
|
4
4
|
//
|
|
5
5
|
|
|
6
6
|
#ifdef HAVE_GOOGLE_MAPS
|
|
7
7
|
|
|
8
|
-
#import "
|
|
9
|
-
#import "
|
|
8
|
+
#import "RNMGoogleMapUrlTileManager.h"
|
|
9
|
+
#import "RNMGoogleMapUrlTile.h"
|
|
10
10
|
|
|
11
|
-
@interface
|
|
11
|
+
@interface RNMGoogleMapUrlTileManager()
|
|
12
12
|
|
|
13
13
|
@end
|
|
14
14
|
|
|
15
|
-
@implementation
|
|
15
|
+
@implementation RNMGoogleMapUrlTileManager
|
|
16
16
|
|
|
17
|
-
RCT_EXPORT_MODULE()
|
|
17
|
+
RCT_EXPORT_MODULE(RNMGoogleMapUrlTile)
|
|
18
18
|
|
|
19
19
|
- (UIView *)view
|
|
20
20
|
{
|
|
21
|
-
|
|
21
|
+
RNMGoogleMapUrlTile *tileLayer = [RNMGoogleMapUrlTile new];
|
|
22
22
|
return tileLayer;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
#import "RNMGoogleMapViewModule.h"
|
|
2
|
+
#import "RNMGoogleMap.h"
|
|
3
|
+
#import "RNMGoogleMapMarker.h"
|
|
4
|
+
#import "RNMMapCoordinate.h"
|
|
5
|
+
#import "RCTConvert+GMSMapViewType.h"
|
|
6
|
+
#import <React/RCTUIManager.h>
|
|
7
|
+
#import <React/RCTUIManagerUtils.h>
|
|
8
|
+
|
|
9
|
+
@implementation RNMGoogleMapViewModule
|
|
10
|
+
|
|
11
|
+
@synthesize bridge = _bridge;
|
|
12
|
+
|
|
13
|
+
- (dispatch_queue_t)methodQueue
|
|
14
|
+
{
|
|
15
|
+
return RCTGetUIManagerQueue();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
RCT_EXPORT_MODULE();
|
|
19
|
+
|
|
20
|
+
RCT_EXPORT_METHOD(getCamera:(nonnull NSNumber *)reactTag
|
|
21
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
22
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
23
|
+
{
|
|
24
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
25
|
+
id view = viewRegistry[reactTag];
|
|
26
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
27
|
+
reject(@"Invalid argument", [NSString stringWithFormat:@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view], NULL);
|
|
28
|
+
} else {
|
|
29
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
30
|
+
resolve(@{
|
|
31
|
+
@"center": @{
|
|
32
|
+
@"latitude": @(mapView.camera.target.latitude),
|
|
33
|
+
@"longitude": @(mapView.camera.target.longitude),
|
|
34
|
+
},
|
|
35
|
+
@"pitch": @(mapView.camera.viewingAngle),
|
|
36
|
+
@"heading": @(mapView.camera.bearing),
|
|
37
|
+
@"zoom": @(mapView.camera.zoom),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
|
|
44
|
+
config:(NSDictionary *)config
|
|
45
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
46
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
47
|
+
{
|
|
48
|
+
NSString *format = config[@"format"];
|
|
49
|
+
NSNumber *quality = config[@"quality"];
|
|
50
|
+
NSString *result = config[@"result"];
|
|
51
|
+
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
|
|
52
|
+
NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
|
|
53
|
+
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
|
|
54
|
+
|
|
55
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
56
|
+
id view = viewRegistry[reactTag];
|
|
57
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
58
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
|
|
59
|
+
} else {
|
|
60
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
61
|
+
|
|
62
|
+
// TODO: currently we are ignoring width, height, region
|
|
63
|
+
|
|
64
|
+
UIGraphicsBeginImageContextWithOptions(mapView.frame.size, YES, 0.0f);
|
|
65
|
+
[mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
|
|
66
|
+
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
|
|
67
|
+
|
|
68
|
+
NSData *data;
|
|
69
|
+
if ([format isEqualToString:@"png"]) {
|
|
70
|
+
data = UIImagePNGRepresentation(image);
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
else if([format isEqualToString:@"jpg"]) {
|
|
74
|
+
data = UIImageJPEGRepresentation(image, quality.floatValue);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if ([result isEqualToString:@"file"]) {
|
|
78
|
+
[data writeToFile:filePath atomically:YES];
|
|
79
|
+
resolve(filePath);
|
|
80
|
+
}
|
|
81
|
+
else if ([result isEqualToString:@"base64"]) {
|
|
82
|
+
NSString *base64 = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn];
|
|
83
|
+
resolve(base64);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
UIGraphicsEndImageContext();
|
|
87
|
+
}];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
RCT_EXPORT_METHOD(pointForCoordinate:(nonnull NSNumber *)reactTag
|
|
91
|
+
coordinate:(NSDictionary *)coordinate
|
|
92
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
93
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
94
|
+
{
|
|
95
|
+
CLLocationCoordinate2D coord =
|
|
96
|
+
CLLocationCoordinate2DMake(
|
|
97
|
+
[coordinate[@"latitude"] doubleValue],
|
|
98
|
+
[coordinate[@"longitude"] doubleValue]
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
102
|
+
id view = viewRegistry[reactTag];
|
|
103
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
104
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
|
|
105
|
+
} else {
|
|
106
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
107
|
+
|
|
108
|
+
CGPoint touchPoint = [mapView.projection pointForCoordinate:coord];
|
|
109
|
+
|
|
110
|
+
resolve(@{
|
|
111
|
+
@"x": @(touchPoint.x),
|
|
112
|
+
@"y": @(touchPoint.y),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
RCT_EXPORT_METHOD(coordinateForPoint:(nonnull NSNumber *)reactTag
|
|
119
|
+
point:(NSDictionary *)point
|
|
120
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
121
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
122
|
+
{
|
|
123
|
+
CGPoint pt = CGPointMake(
|
|
124
|
+
[point[@"x"] doubleValue],
|
|
125
|
+
[point[@"y"] doubleValue]
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
129
|
+
id view = viewRegistry[reactTag];
|
|
130
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
131
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
|
|
132
|
+
} else {
|
|
133
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
134
|
+
|
|
135
|
+
CLLocationCoordinate2D coordinate = [mapView.projection coordinateForPoint:pt];
|
|
136
|
+
|
|
137
|
+
resolve(@{
|
|
138
|
+
@"latitude": @(coordinate.latitude),
|
|
139
|
+
@"longitude": @(coordinate.longitude),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
RCT_EXPORT_METHOD(getMarkersFrames:(nonnull NSNumber *)reactTag
|
|
146
|
+
onlyVisible:(BOOL)onlyVisible
|
|
147
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
148
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
149
|
+
{
|
|
150
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
151
|
+
id view = viewRegistry[reactTag];
|
|
152
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
153
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
|
|
154
|
+
} else {
|
|
155
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
156
|
+
resolve([mapView getMarkersFramesWithOnlyVisible:onlyVisible]);
|
|
157
|
+
}
|
|
158
|
+
}];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
RCT_EXPORT_METHOD(getMapBoundaries:(nonnull NSNumber *)reactTag
|
|
162
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
163
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
164
|
+
{
|
|
165
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
166
|
+
id view = viewRegistry[reactTag];
|
|
167
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
168
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
169
|
+
} else {
|
|
170
|
+
NSArray *boundingBox = [view getMapBoundaries];
|
|
171
|
+
|
|
172
|
+
resolve(@{
|
|
173
|
+
@"northEast" : @{
|
|
174
|
+
@"longitude" : boundingBox[0][0],
|
|
175
|
+
@"latitude" : boundingBox[0][1]
|
|
176
|
+
},
|
|
177
|
+
@"southWest" : @{
|
|
178
|
+
@"longitude" : boundingBox[1][0],
|
|
179
|
+
@"latitude" : boundingBox[1][1]
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}];
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
RCT_EXPORT_METHOD(animateToRegion:(nonnull NSNumber *)reactTag
|
|
187
|
+
withRegion:(NSDictionary *)region
|
|
188
|
+
withDuration:(CGFloat)duration
|
|
189
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
190
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
191
|
+
{
|
|
192
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
193
|
+
id view = viewRegistry[reactTag];
|
|
194
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
195
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
196
|
+
} else {
|
|
197
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
198
|
+
MKCoordinateRegion mkRegion = [RCTConvert MKCoordinateRegion:region];
|
|
199
|
+
GMSCameraPosition *camera = [RNMGoogleMap makeGMSCameraPositionFromMap:mapView andMKCoordinateRegion:mkRegion];
|
|
200
|
+
// Core Animation must be used to control the animation's duration
|
|
201
|
+
// See http://stackoverflow.com/a/15663039/171744
|
|
202
|
+
[CATransaction begin];
|
|
203
|
+
[CATransaction setCompletionBlock:^{
|
|
204
|
+
resolve(nil);
|
|
205
|
+
}];
|
|
206
|
+
[CATransaction setAnimationDuration:duration/1000];
|
|
207
|
+
[mapView animateToCameraPosition:camera];
|
|
208
|
+
[CATransaction commit];
|
|
209
|
+
}
|
|
210
|
+
}];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
RCT_EXPORT_METHOD(animateCamera:(nonnull NSNumber *)reactTag
|
|
214
|
+
withCamera:(id)json
|
|
215
|
+
withDuration:(CGFloat)duration
|
|
216
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
217
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
218
|
+
{
|
|
219
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
220
|
+
id view = viewRegistry[reactTag];
|
|
221
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
222
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
223
|
+
} else {
|
|
224
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
225
|
+
GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
|
|
226
|
+
|
|
227
|
+
[CATransaction begin];
|
|
228
|
+
[CATransaction setCompletionBlock:^{
|
|
229
|
+
resolve(nil);
|
|
230
|
+
}];
|
|
231
|
+
[CATransaction setAnimationDuration:duration/1000];
|
|
232
|
+
[mapView animateToCameraPosition:camera];
|
|
233
|
+
[CATransaction commit];
|
|
234
|
+
}
|
|
235
|
+
}];
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag
|
|
239
|
+
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
240
|
+
withDuration:(CGFloat)duration
|
|
241
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
242
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
243
|
+
{
|
|
244
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
245
|
+
id view = viewRegistry[reactTag];
|
|
246
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
247
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
248
|
+
} else {
|
|
249
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
250
|
+
|
|
251
|
+
CLLocationCoordinate2D myLocation = ((RNMGoogleMapMarker *)(mapView.markers.firstObject)).realMarker.position;
|
|
252
|
+
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
253
|
+
|
|
254
|
+
for (RNMGoogleMapMarker *marker in mapView.markers)
|
|
255
|
+
bounds = [bounds includingCoordinate:marker.realMarker.position];
|
|
256
|
+
|
|
257
|
+
GMSCameraUpdate* cameraUpdate;
|
|
258
|
+
|
|
259
|
+
if ([edgePadding count] != 0) {
|
|
260
|
+
// Set Map viewport
|
|
261
|
+
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
262
|
+
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
263
|
+
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
264
|
+
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
265
|
+
|
|
266
|
+
cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
267
|
+
} else {
|
|
268
|
+
cameraUpdate = [GMSCameraUpdate fitBounds:bounds withPadding:55.0f];
|
|
269
|
+
}
|
|
270
|
+
if (duration > 0.0f) {
|
|
271
|
+
[CATransaction begin];
|
|
272
|
+
[CATransaction setCompletionBlock:^{
|
|
273
|
+
resolve(nil);
|
|
274
|
+
}];
|
|
275
|
+
[CATransaction setAnimationDuration:duration/1000];
|
|
276
|
+
[mapView animateWithCameraUpdate:cameraUpdate];
|
|
277
|
+
[CATransaction commit];
|
|
278
|
+
} else {
|
|
279
|
+
[mapView moveCamera:cameraUpdate];
|
|
280
|
+
resolve(nil);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}];
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
RCT_EXPORT_METHOD(fitToSuppliedMarkers:(nonnull NSNumber *)reactTag
|
|
287
|
+
markers:(nonnull NSArray *)markers
|
|
288
|
+
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
289
|
+
withDuration:(CGFloat)duration
|
|
290
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
291
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
292
|
+
{
|
|
293
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
294
|
+
id view = viewRegistry[reactTag];
|
|
295
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
296
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
297
|
+
} else {
|
|
298
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
299
|
+
|
|
300
|
+
NSPredicate *filterMarkers = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
|
|
301
|
+
RNMGoogleMapMarker *marker = (RNMGoogleMapMarker *)evaluatedObject;
|
|
302
|
+
return [marker isKindOfClass:[RNMGoogleMapMarker class]] && [markers containsObject:marker.identifier];
|
|
303
|
+
}];
|
|
304
|
+
|
|
305
|
+
NSArray *filteredMarkers = [mapView.markers filteredArrayUsingPredicate:filterMarkers];
|
|
306
|
+
|
|
307
|
+
CLLocationCoordinate2D myLocation = ((RNMGoogleMapMarker *)(filteredMarkers.firstObject)).realMarker.position;
|
|
308
|
+
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
309
|
+
|
|
310
|
+
for (RNMGoogleMapMarker *marker in filteredMarkers)
|
|
311
|
+
bounds = [bounds includingCoordinate:marker.realMarker.position];
|
|
312
|
+
|
|
313
|
+
// Set Map viewport
|
|
314
|
+
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
315
|
+
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
316
|
+
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
317
|
+
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
318
|
+
|
|
319
|
+
GMSCameraUpdate* cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
320
|
+
if (duration > 0.0f) {
|
|
321
|
+
[CATransaction begin];
|
|
322
|
+
[CATransaction setCompletionBlock:^{
|
|
323
|
+
resolve(nil);
|
|
324
|
+
}];
|
|
325
|
+
[CATransaction setAnimationDuration:duration/1000];
|
|
326
|
+
[mapView animateWithCameraUpdate:cameraUpdate];
|
|
327
|
+
[CATransaction commit];
|
|
328
|
+
} else {
|
|
329
|
+
[mapView moveCamera:cameraUpdate];
|
|
330
|
+
resolve(nil);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}];
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
RCT_EXPORT_METHOD(fitToCoordinates:(nonnull NSNumber *)reactTag
|
|
337
|
+
coordinates:(nonnull NSArray<RNMMapCoordinate *> *)coordinates
|
|
338
|
+
edgePadding:(nonnull NSDictionary *)edgePadding
|
|
339
|
+
withDuration:(CGFloat)duration
|
|
340
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
341
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
342
|
+
{
|
|
343
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
344
|
+
id view = viewRegistry[reactTag];
|
|
345
|
+
if (![view isKindOfClass:[RNMGoogleMap class]]) {
|
|
346
|
+
RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
|
|
347
|
+
} else {
|
|
348
|
+
RNMGoogleMap *mapView = (RNMGoogleMap *)view;
|
|
349
|
+
|
|
350
|
+
CLLocationCoordinate2D myLocation = coordinates.firstObject.coordinate;
|
|
351
|
+
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
|
|
352
|
+
|
|
353
|
+
for (RNMMapCoordinate *coordinate in coordinates)
|
|
354
|
+
bounds = [bounds includingCoordinate:coordinate.coordinate];
|
|
355
|
+
|
|
356
|
+
// Set Map viewport
|
|
357
|
+
CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
|
|
358
|
+
CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
|
|
359
|
+
CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
|
|
360
|
+
CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
|
|
361
|
+
|
|
362
|
+
GMSCameraUpdate *cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
|
|
363
|
+
|
|
364
|
+
if (duration > 0.0f) {
|
|
365
|
+
[CATransaction begin];
|
|
366
|
+
[CATransaction setCompletionBlock:^{
|
|
367
|
+
resolve(nil);
|
|
368
|
+
}];
|
|
369
|
+
[CATransaction setAnimationDuration:duration/1000];
|
|
370
|
+
[mapView animateWithCameraUpdate:cameraUpdate];
|
|
371
|
+
[CATransaction commit];
|
|
372
|
+
} else {
|
|
373
|
+
[mapView moveCamera: cameraUpdate];
|
|
374
|
+
resolve(nil);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}];
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
@end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// RNMGoogleMapWMSTile.h
|
|
3
|
+
// RNMaps
|
|
4
4
|
//
|
|
5
5
|
// Created by nizam on 10/28/18.
|
|
6
6
|
// Copyright © 2018. All rights reserved.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
@property (nonatomic, assign) NSInteger minimumZ;
|
|
19
19
|
@end
|
|
20
20
|
|
|
21
|
-
@interface
|
|
21
|
+
@interface RNMGoogleMapWMSTile : UIView
|
|
22
22
|
@property (nonatomic, strong) WMSTileOverlay *tileLayer;
|
|
23
23
|
@property (nonatomic, assign) NSString *urlTemplate;
|
|
24
24
|
@property (nonatomic, assign) int zIndex;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// RNMGoogleMapWMSTile.m
|
|
3
|
+
// RNMaps
|
|
4
4
|
//
|
|
5
5
|
// Created by nizam on 10/28/18.
|
|
6
6
|
// Copyright © 2018. All rights reserved.
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
#ifdef HAVE_GOOGLE_MAPS
|
|
10
10
|
|
|
11
|
-
#import "
|
|
11
|
+
#import "RNMGoogleMapWMSTile.h"
|
|
12
12
|
|
|
13
|
-
@implementation
|
|
13
|
+
@implementation RNMGoogleMapWMSTile
|
|
14
14
|
|
|
15
15
|
-(id) init
|
|
16
16
|
{
|
package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// RNMGoogleMapWMSTileManager.h
|
|
3
|
+
// RNMaps
|
|
4
4
|
//
|
|
5
5
|
// Created by nizam on 10/28/18.
|
|
6
6
|
// Copyright © 2018. All rights reserved.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#import <Foundation/Foundation.h>
|
|
12
12
|
#import <React/RCTViewManager.h>
|
|
13
13
|
|
|
14
|
-
@interface
|
|
14
|
+
@interface RNMGoogleMapWMSTileManager : RCTViewManager
|
|
15
15
|
@end
|
|
16
16
|
|
|
17
17
|
#endif
|
package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// RNMGoogleMapWMSTileManager.m
|
|
3
|
+
// RNMaps
|
|
4
4
|
//
|
|
5
5
|
// Created by nizam on 10/28/18.
|
|
6
6
|
// Copyright © 2018. All rights reserved.
|
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
#ifdef HAVE_GOOGLE_MAPS
|
|
10
10
|
|
|
11
|
-
#import "
|
|
12
|
-
#import "
|
|
11
|
+
#import "RNMGoogleMapWMSTileManager.h"
|
|
12
|
+
#import "RNMGoogleMapWMSTile.h"
|
|
13
13
|
|
|
14
|
-
@interface
|
|
14
|
+
@interface RNMGoogleMapWMSTileManager()
|
|
15
15
|
|
|
16
16
|
@end
|
|
17
17
|
|
|
18
|
-
@implementation
|
|
18
|
+
@implementation RNMGoogleMapWMSTileManager
|
|
19
19
|
|
|
20
|
-
RCT_EXPORT_MODULE()
|
|
20
|
+
RCT_EXPORT_MODULE(RNMGoogleMapWMSTile)
|
|
21
21
|
|
|
22
22
|
- (UIView *)view
|
|
23
23
|
{
|
|
24
|
-
|
|
24
|
+
RNMGoogleMapWMSTile *tileLayer = [RNMGoogleMapWMSTile new];
|
|
25
25
|
return tileLayer;
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -176,11 +176,11 @@ extern NSTimeInterval const kSMCalloutViewRepositionDelayForUIScrollView;
|
|
|
176
176
|
- (void)calloutViewClicked:(SMCalloutView *)calloutView;
|
|
177
177
|
|
|
178
178
|
/**
|
|
179
|
-
Called when the callout view detects that it will be outside the constrained view when it appears,
|
|
180
|
-
or if the target rect was already outside the constrained view. You can implement this selector
|
|
179
|
+
Called when the callout view detects that it will be outside the constrained view when it appears,
|
|
180
|
+
or if the target rect was already outside the constrained view. You can implement this selector
|
|
181
181
|
to respond to this situation by repositioning your content first in order to make everything visible.
|
|
182
|
-
The @c CGSize passed is the calculated offset necessary to make everything visible (plus a nice margin).
|
|
183
|
-
It expects you to return the amount of time you need to reposition things so the popup can be delayed.
|
|
182
|
+
The @c CGSize passed is the calculated offset necessary to make everything visible (plus a nice margin).
|
|
183
|
+
It expects you to return the amount of time you need to reposition things so the popup can be delayed.
|
|
184
184
|
Typically you would return @c kSMCalloutViewRepositionDelayForUIScrollView if you're repositioning by calling @c [UIScrollView @c setContentOffset:animated:].
|
|
185
185
|
|
|
186
186
|
@param calloutView the @c SMCalloutView to reposition
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
// Copyright (c) 2015 Facebook. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
|
|
6
|
-
#import "RCTConvert+
|
|
6
|
+
#import "RCTConvert+RNMMap.h"
|
|
7
7
|
|
|
8
8
|
#import <React/RCTConvert+CoreLocation.h>
|
|
9
|
-
#import "
|
|
9
|
+
#import "RNMMapCoordinate.h"
|
|
10
10
|
|
|
11
|
-
@implementation RCTConvert (
|
|
11
|
+
@implementation RCTConvert (RNMMap)
|
|
12
12
|
|
|
13
13
|
+ (MKCoordinateSpan)MKCoordinateSpan:(id)json
|
|
14
14
|
{
|
|
@@ -71,18 +71,18 @@ RCT_ENUM_CONVERTER(MKMapType, (@{
|
|
|
71
71
|
// around a `CLLocationCoordinate2D`, since I was unable to figure out
|
|
72
72
|
// how to handle an array of structs like CLLocationCoordinate2D. Would love
|
|
73
73
|
// to get rid of this if someone can show me how...
|
|
74
|
-
+ (
|
|
74
|
+
+ (RNMMapCoordinate *)RNMMapCoordinate:(id)json
|
|
75
75
|
{
|
|
76
|
-
|
|
76
|
+
RNMMapCoordinate *coord = [RNMMapCoordinate new];
|
|
77
77
|
coord.coordinate = [self CLLocationCoordinate2D:json];
|
|
78
78
|
return coord;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
RCT_ARRAY_CONVERTER(
|
|
81
|
+
RCT_ARRAY_CONVERTER(RNMMapCoordinate)
|
|
82
82
|
|
|
83
|
-
+ (NSArray<NSArray<
|
|
83
|
+
+ (NSArray<NSArray<RNMMapCoordinate *> *> *)RNMMapCoordinateArrayArray:(id)json
|
|
84
84
|
{
|
|
85
|
-
return RCTConvertArrayValue(@selector(
|
|
85
|
+
return RCTConvertArrayValue(@selector(RNMMapCoordinateArray:), json);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
@end
|
|
@@ -12,16 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
#import <React/RCTComponent.h>
|
|
14
14
|
#import "SMCalloutView.h"
|
|
15
|
-
#import "RCTConvert+
|
|
16
|
-
#import "
|
|
15
|
+
#import "RCTConvert+RNMMap.h"
|
|
16
|
+
#import "RNMMapCalloutSubview.h"
|
|
17
17
|
|
|
18
|
-
@class
|
|
18
|
+
@class RNMMapMarker;
|
|
19
19
|
|
|
20
|
-
extern const NSTimeInterval
|
|
21
|
-
extern const CGFloat
|
|
22
|
-
extern const NSInteger
|
|
20
|
+
extern const NSTimeInterval RNMMapRegionChangeObserveInterval;
|
|
21
|
+
extern const CGFloat RNMMapZoomBoundBuffer;
|
|
22
|
+
extern const NSInteger RNMMapMaxZoomLevel;
|
|
23
23
|
|
|
24
|
-
@interface
|
|
24
|
+
@interface RNMMap: MKMapView<SMCalloutViewDelegate>
|
|
25
25
|
|
|
26
26
|
@property (nonatomic, strong) SMCalloutView *calloutView;
|
|
27
27
|
@property (nonatomic, strong) UIImageView *cacheImageView;
|
|
@@ -73,7 +73,7 @@ extern const NSInteger AIRMapMaxZoomLevel;
|
|
|
73
73
|
- (void)finishLoading;
|
|
74
74
|
- (NSArray *)getMapBoundaries;
|
|
75
75
|
|
|
76
|
-
- (
|
|
76
|
+
- (RNMMapMarker*) markerAtPoint:(CGPoint)point;
|
|
77
77
|
- (NSDictionary*) getMarkersFramesWithOnlyVisible:(BOOL)onlyVisible;
|
|
78
78
|
|
|
79
79
|
@end
|