react-native-maps 1.25.0-alpha.8 → 1.25.1
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/README.md +2 -53
- package/android/src/main/RCTThirdPartyComponentsProvider.mm +0 -2
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +1 -1
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +3 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +1 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +6 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +2 -0
- package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +1 -1
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +1 -1
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +41 -5
- package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +9 -2
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +1 -2
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +46 -3
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +8 -1
- package/android/src/main/java/com/rnmaps/maps/MapView.java +104 -51
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +84 -27
- package/android/src/main/java/com/rnmaps/maps/RegionChangeEvent.java +1 -4
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +6 -6
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +6 -6
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +5 -2
- package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +27 -2
- package/ios/AirGoogleMaps/AIRGoogleMap.mm +13 -12
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +4 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +3 -3
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +6 -6
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +4 -4
- package/ios/AirMaps/AIRMap.h +2 -1
- package/ios/AirMaps/AIRMapManager.m +34 -18
- package/ios/AirMaps/AIRMapMarker.m +7 -1
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +2 -2
- package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +1 -1
- package/ios/AirMaps/RNMapsAirModule.mm +3 -3
- package/ios/AirMaps/RNMapsMapView.h +4 -4
- package/ios/AirMaps/RNMapsMapView.mm +55 -10
- package/ios/AirMaps/RNMapsMapViewManager.mm +1 -1
- package/ios/AirMaps/RNMapsMarkerView.mm +4 -3
- package/ios/generated/RNMapsAirModuleDelegate.h +1 -1
- package/ios/generated/{RNMapsHostVewDelegate.h → RNMapsHostViewDelegate.h} +1 -1
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +2 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +2 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +8 -6
- package/ios/generated/RNMapsSpecs/EventEmitters.h +20 -6
- package/ios/generated/RNMapsSpecs/Props.cpp +37 -2
- package/ios/generated/RNMapsSpecs/Props.h +110 -13
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +2 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +22 -0
- package/ios/generated/RNMapsSpecs/States.h +24 -0
- package/ios/generated/module.modulemap +1 -1
- package/package.json +9 -3
- package/plugin/build/ios.js +3 -3
- package/src/AnimatedRegion.ts +3 -1
- package/src/Geojson.tsx +5 -5
- package/src/MapCallout.tsx +5 -5
- package/src/MapCalloutSubview.tsx +9 -5
- package/src/MapCircle.tsx +5 -5
- package/src/MapHeatmap.tsx +11 -6
- package/src/MapLocalTile.tsx +4 -4
- package/src/MapMarker.tsx +38 -17
- package/src/MapMarkerNativeComponent.ts +3 -2
- package/src/MapOverlay.tsx +10 -10
- package/src/MapPolygon.tsx +6 -6
- package/src/MapPolygon.types.ts +2 -2
- package/src/MapPolyline.tsx +5 -5
- package/src/MapUrlTile.tsx +4 -4
- package/src/MapView.tsx +34 -37
- package/src/MapView.types.ts +2 -3
- package/src/MapViewNativeComponent.ts +3 -3
- package/src/MapWMSTile.tsx +4 -4
- package/src/createFabricMap.tsx +39 -37
- package/src/decorateMapComponent.ts +9 -3
- package/src/fixImageProp.ts +1 -1
- package/src/index.ts +1 -1
- package/src/sharedTypes.ts +1 -1
- package/src/specs/NativeAirMapsModule.ts +1 -1
- package/src/specs/NativeComponentCallout.ts +1 -1
- package/src/specs/NativeComponentCircle.ts +3 -2
- package/src/specs/NativeComponentGoogleMapView.ts +12 -10
- package/src/specs/NativeComponentGooglePolygon.ts +12 -1
- package/src/specs/NativeComponentMapView.ts +12 -10
- package/src/specs/NativeComponentMarker.ts +26 -2
- package/src/specs/NativeComponentOverlay.ts +1 -1
- package/src/specs/NativeComponentPolyline.ts +2 -2
- package/src/specs/NativeComponentUrlTile.ts +4 -1
- package/src/specs/NativeComponentWMSTile.ts +4 -1
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +0 -98
- package/ios/AirMaps.xcodeproj/project.pbxproj +0 -627
|
@@ -61,7 +61,7 @@ class RNMapsCircleProps final : public ViewProps {
|
|
|
61
61
|
SharedColor fillColor{};
|
|
62
62
|
double radius{0.0};
|
|
63
63
|
SharedColor strokeColor{};
|
|
64
|
-
Float strokeWidth{
|
|
64
|
+
Float strokeWidth{1.0};
|
|
65
65
|
bool tappable{false};
|
|
66
66
|
};
|
|
67
67
|
|
|
@@ -478,6 +478,7 @@ class RNMapsGooglePolygonProps final : public ViewProps {
|
|
|
478
478
|
std::vector<RNMapsGooglePolygonCoordinatesStruct> coordinates{};
|
|
479
479
|
SharedColor fillColor{};
|
|
480
480
|
SharedColor strokeColor{};
|
|
481
|
+
Float strokeWidth{1.0};
|
|
481
482
|
bool geodesic{false};
|
|
482
483
|
std::vector<std::vector<RNMapsGooglePolygonHolesStruct>> holes{};
|
|
483
484
|
bool tappable{false};
|
|
@@ -1048,6 +1049,28 @@ static inline std::string toString(const RNMapsMarkerCalloutOffsetStruct &value)
|
|
|
1048
1049
|
return "[Object RNMapsMarkerCalloutOffsetStruct]";
|
|
1049
1050
|
}
|
|
1050
1051
|
|
|
1052
|
+
struct RNMapsMarkerCenterOffsetStruct {
|
|
1053
|
+
double x{0.0};
|
|
1054
|
+
double y{0.0};
|
|
1055
|
+
};
|
|
1056
|
+
|
|
1057
|
+
static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNMapsMarkerCenterOffsetStruct &result) {
|
|
1058
|
+
auto map = (std::unordered_map<std::string, RawValue>)value;
|
|
1059
|
+
|
|
1060
|
+
auto tmp_x = map.find("x");
|
|
1061
|
+
if (tmp_x != map.end()) {
|
|
1062
|
+
fromRawValue(context, tmp_x->second, result.x);
|
|
1063
|
+
}
|
|
1064
|
+
auto tmp_y = map.find("y");
|
|
1065
|
+
if (tmp_y != map.end()) {
|
|
1066
|
+
fromRawValue(context, tmp_y->second, result.y);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
static inline std::string toString(const RNMapsMarkerCenterOffsetStruct &value) {
|
|
1071
|
+
return "[Object RNMapsMarkerCenterOffsetStruct]";
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1051
1074
|
struct RNMapsMarkerCoordinateStruct {
|
|
1052
1075
|
double latitude{0.0};
|
|
1053
1076
|
double longitude{0.0};
|
|
@@ -1081,10 +1104,12 @@ class RNMapsMarkerProps final : public ViewProps {
|
|
|
1081
1104
|
ImageSource image{};
|
|
1082
1105
|
RNMapsMarkerCalloutOffsetStruct calloutOffset{};
|
|
1083
1106
|
RNMapsMarkerDisplayPriority displayPriority{RNMapsMarkerDisplayPriority::Required};
|
|
1107
|
+
RNMapsMarkerCenterOffsetStruct centerOffset{};
|
|
1084
1108
|
RNMapsMarkerCoordinateStruct coordinate{};
|
|
1085
1109
|
std::string description{};
|
|
1086
1110
|
bool draggable{false};
|
|
1087
1111
|
std::string title{};
|
|
1112
|
+
bool tracksViewChanges{true};
|
|
1088
1113
|
std::string identifier{};
|
|
1089
1114
|
bool isPreselected{false};
|
|
1090
1115
|
double opacity{1.0};
|
|
@@ -1252,7 +1277,7 @@ class RNMapsPolylineProps final : public ViewProps {
|
|
|
1252
1277
|
RNMapsPolylineLineJoin lineJoin{RNMapsPolylineLineJoin::Miter};
|
|
1253
1278
|
SharedColor strokeColor{};
|
|
1254
1279
|
std::vector<SharedColor> strokeColors{};
|
|
1255
|
-
Float strokeWidth{
|
|
1280
|
+
Float strokeWidth{1.0};
|
|
1256
1281
|
bool tappable{false};
|
|
1257
1282
|
};
|
|
1258
1283
|
|
|
@@ -519,17 +519,19 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
519
519
|
|
|
520
520
|
- (void)willMove:(BOOL)gesture {
|
|
521
521
|
_isAnimating = YES;
|
|
522
|
-
|
|
523
|
-
|
|
522
|
+
GMSCameraPosition *position = self.camera;
|
|
523
|
+
id event = @{@"region": regionAsJSON([AIRGoogleMap makeGMSCameraPositionFromMap:self andGMSCameraPosition:position]),
|
|
524
|
+
@"isGesture": [NSNumber numberWithBool:gesture],
|
|
525
|
+
};
|
|
526
|
+
if (self.onRegionChangeStart) self.onRegionChangeStart(event);
|
|
524
527
|
}
|
|
525
528
|
|
|
526
529
|
- (void)didChangeCameraPosition:(GMSCameraPosition *)position isGesture:(BOOL)isGesture{
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
if (self.onRegionChange) self.onRegionChange(event);
|
|
530
|
+
id event = @{@"region": regionAsJSON([AIRGoogleMap makeGMSCameraPositionFromMap:self andGMSCameraPosition:position]),
|
|
531
|
+
@"isGesture": [NSNumber numberWithBool:isGesture],
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
if (self.onRegionChange) self.onRegionChange(event);
|
|
533
535
|
}
|
|
534
536
|
|
|
535
537
|
- (void)didTapPOIWithPlaceID:(NSString *)placeID
|
|
@@ -547,10 +549,9 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
547
549
|
}
|
|
548
550
|
|
|
549
551
|
- (void)idleAtCameraPosition:(GMSCameraPosition *)position isGesture:(BOOL)isGesture{
|
|
550
|
-
id event = @{@"
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
};
|
|
552
|
+
id event = @{@"region": regionAsJSON([AIRGoogleMap makeGMSCameraPositionFromMap:self andGMSCameraPosition:position]),
|
|
553
|
+
@"isGesture": [NSNumber numberWithBool:isGesture],
|
|
554
|
+
};
|
|
554
555
|
if (self.onRegionChangeComplete) self.onRegionChangeComplete(event); // complete
|
|
555
556
|
_isAnimating = NO;
|
|
556
557
|
}
|
|
@@ -78,6 +78,10 @@
|
|
|
78
78
|
_polyline.strokeWidth = strokeWidth;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
- (void)setFillColor:(UIColor *)fillColor {
|
|
82
|
+
// fillColor not support
|
|
83
|
+
}
|
|
84
|
+
|
|
81
85
|
- (void)setLineDashPattern:(NSArray<NSNumber *> *)lineDashPattern {
|
|
82
86
|
_lineDashPattern = lineDashPattern;
|
|
83
87
|
[self configureStyleSpansIfNeeded];
|
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
#import <React/RCTViewComponentView.h>
|
|
12
12
|
#import <UIKit/UIKit.h>
|
|
13
13
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
14
|
-
#import <ReactNativeMaps/generated/
|
|
14
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
15
15
|
#else
|
|
16
|
-
#import "
|
|
16
|
+
#import "RNMapsHostViewDelegate.h"
|
|
17
17
|
#endif
|
|
18
18
|
@class AIRGoogleMap;
|
|
19
19
|
|
|
20
20
|
NS_ASSUME_NONNULL_BEGIN
|
|
21
21
|
|
|
22
|
-
@interface RNMapsGoogleMapView : RCTViewComponentView<
|
|
22
|
+
@interface RNMapsGoogleMapView : RCTViewComponentView<RNMapsHostViewDelegate>
|
|
23
23
|
|
|
24
24
|
@end
|
|
25
25
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
#import "AIRGoogleMapManager.h"
|
|
14
14
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
15
15
|
#import <ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>
|
|
16
|
-
#import <ReactNativeMaps/generated/
|
|
16
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
17
17
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
18
18
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
19
19
|
#import <ReactNativeMaps/generated/Props.h>
|
|
@@ -265,7 +265,7 @@ using namespace facebook::react;
|
|
|
265
265
|
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
266
266
|
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
267
267
|
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
268
|
-
.
|
|
268
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
269
269
|
};
|
|
270
270
|
mapViewEventEmitter->onRegionChange(data);
|
|
271
271
|
}
|
|
@@ -358,8 +358,6 @@ using namespace facebook::react;
|
|
|
358
358
|
}
|
|
359
359
|
};
|
|
360
360
|
|
|
361
|
-
|
|
362
|
-
|
|
363
361
|
_view.onRegionChangeStart = [self](NSDictionary* dictionary) {
|
|
364
362
|
if (_eventEmitter) {
|
|
365
363
|
|
|
@@ -370,7 +368,7 @@ using namespace facebook::react;
|
|
|
370
368
|
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
371
369
|
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
372
370
|
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
373
|
-
.
|
|
371
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
374
372
|
};
|
|
375
373
|
mapViewEventEmitter->onRegionChangeStart(data);
|
|
376
374
|
}
|
|
@@ -386,7 +384,7 @@ using namespace facebook::react;
|
|
|
386
384
|
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
387
385
|
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
388
386
|
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
389
|
-
.
|
|
387
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
390
388
|
};
|
|
391
389
|
mapViewEventEmitter->onRegionChangeComplete(data);
|
|
392
390
|
}
|
|
@@ -595,6 +593,8 @@ using namespace facebook::react;
|
|
|
595
593
|
|
|
596
594
|
REMAP_MAPVIEW_STRING_PROP(kmlSrc)
|
|
597
595
|
REMAP_MAPVIEW_STRING_PROP(customMapStyleString)
|
|
596
|
+
REMAP_MAPVIEW_PROP(showsBuildings)
|
|
597
|
+
REMAP_MAPVIEW_PROP(rotateEnabled)
|
|
598
598
|
|
|
599
599
|
|
|
600
600
|
if (newViewProps.minZoom != oldViewProps.minZoom || newViewProps.maxZoom != oldViewProps.maxZoom){
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#import "AIRGoogleMap.h"
|
|
13
13
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
14
14
|
#import <ReactNativeMaps/generated/RNMapsSpecs.h>
|
|
15
|
-
#import <ReactNativeMaps/generated/
|
|
15
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
16
16
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
17
17
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
18
18
|
#import <ReactNativeMaps/generated/Props.h>
|
|
@@ -206,9 +206,9 @@ bool areHolesEqual(const std::vector<std::vector<RNMapsGooglePolygonHolesStruct>
|
|
|
206
206
|
if (newViewProps.strokeColor){
|
|
207
207
|
_view.strokeColor = RCTUIColorFromSharedColor(newViewProps.strokeColor);
|
|
208
208
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
if (newViewProps.strokeWidth != oldViewProps.strokeWidth){
|
|
210
|
+
_view.strokeWidth = newViewProps.strokeWidth;
|
|
211
|
+
}
|
|
212
212
|
|
|
213
213
|
[super updateProps:props oldProps:oldProps];
|
|
214
214
|
}
|
package/ios/AirMaps/AIRMap.h
CHANGED
|
@@ -57,7 +57,9 @@ extern const NSInteger AIRMapMaxZoomLevel;
|
|
|
57
57
|
@property (nonatomic, assign) BOOL ignoreRegionChanges;
|
|
58
58
|
|
|
59
59
|
@property (nonatomic, copy) RCTDirectEventBlock onMapReady;
|
|
60
|
+
@property (nonatomic, copy) RCTDirectEventBlock onRegionChangeStart;
|
|
60
61
|
@property (nonatomic, copy) RCTDirectEventBlock onRegionChange;
|
|
62
|
+
@property (nonatomic, copy) RCTDirectEventBlock onRegionChangeComplete;
|
|
61
63
|
@property (nonatomic, copy) RCTBubblingEventBlock onPress;
|
|
62
64
|
@property (nonatomic, copy) RCTBubblingEventBlock onLongPress;
|
|
63
65
|
@property (nonatomic, copy) RCTDirectEventBlock onPanDrag;
|
|
@@ -70,7 +72,6 @@ extern const NSInteger AIRMapMaxZoomLevel;
|
|
|
70
72
|
@property (nonatomic, copy) RCTDirectEventBlock onMarkerDragEnd;
|
|
71
73
|
|
|
72
74
|
@property (nonatomic, copy) RCTDirectEventBlock onCalloutPress;
|
|
73
|
-
@property (nonatomic, copy) RCTDirectEventBlock onRegionChangeStart;
|
|
74
75
|
@property (nonatomic, copy) RCTDirectEventBlock onUserLocationChange;
|
|
75
76
|
|
|
76
77
|
- (void)cacheViewIfNeeded;
|
|
@@ -112,8 +112,9 @@ RCT_EXPORT_VIEW_PROPERTY(mapPadding, UIEdgeInsets)
|
|
|
112
112
|
RCT_EXPORT_VIEW_PROPERTY(mapType, MKMapType)
|
|
113
113
|
RCT_EXPORT_VIEW_PROPERTY(cameraZoomRange, NSDictionary)
|
|
114
114
|
RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTDirectEventBlock)
|
|
115
|
-
RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
|
|
116
115
|
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeStart, RCTDirectEventBlock)
|
|
116
|
+
RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
|
|
117
|
+
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
|
|
117
118
|
RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTDirectEventBlock)
|
|
118
119
|
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
119
120
|
RCT_EXPORT_VIEW_PROPERTY(onLongPress, RCTBubblingEventBlock)
|
|
@@ -912,12 +913,24 @@ static int kDragCenterContext;
|
|
|
912
913
|
|
|
913
914
|
- (void)mapView:(AIRMap *)mapView regionWillChangeAnimated:(BOOL)animated
|
|
914
915
|
{
|
|
915
|
-
|
|
916
|
+
MKCoordinateRegion region = mapView.region;
|
|
917
|
+
if (!CLLocationCoordinate2DIsValid(region.center)) {
|
|
918
|
+
return;
|
|
919
|
+
}
|
|
920
|
+
#define FLUSH_NAN(value) (isnan(value) ? 0 : value)
|
|
921
|
+
if (mapView.onRegionChangeStart) mapView.onRegionChangeStart(@{
|
|
922
|
+
@"region": @{
|
|
923
|
+
@"latitude": @(FLUSH_NAN(region.center.latitude)),
|
|
924
|
+
@"longitude": @(FLUSH_NAN(region.center.longitude)),
|
|
925
|
+
@"latitudeDelta": @(FLUSH_NAN(region.span.latitudeDelta)),
|
|
926
|
+
@"longitudeDelta": @(FLUSH_NAN(region.span.longitudeDelta)),
|
|
927
|
+
}
|
|
928
|
+
});
|
|
916
929
|
}
|
|
917
930
|
|
|
918
931
|
- (void)mapViewDidChangeVisibleRegion:(AIRMap *)mapView
|
|
919
932
|
{
|
|
920
|
-
[self _regionChanged:mapView];
|
|
933
|
+
[self _regionChanged:mapView continuous:YES];
|
|
921
934
|
}
|
|
922
935
|
|
|
923
936
|
- (void)mapView:(AIRMap *)mapView regionDidChangeAnimated:(__unused BOOL)animated
|
|
@@ -927,9 +940,6 @@ static int kDragCenterContext;
|
|
|
927
940
|
if (animated && mapView.ignoreRegionChanges){
|
|
928
941
|
mapView.ignoreRegionChanges = false;
|
|
929
942
|
}
|
|
930
|
-
if(mapView.hasStartedRendering){
|
|
931
|
-
[self _regionChanged:mapView];
|
|
932
|
-
}
|
|
933
943
|
|
|
934
944
|
if (mapView.legacyZoomConstraintsEnabled == YES) {
|
|
935
945
|
[self applyLegacyZoomConstrains:mapView];
|
|
@@ -964,7 +974,7 @@ static int kDragCenterContext;
|
|
|
964
974
|
|
|
965
975
|
#pragma mark Private
|
|
966
976
|
|
|
967
|
-
- (void)_regionChanged:(AIRMap *)mapView
|
|
977
|
+
- (void)_regionChanged:(AIRMap *)mapView continuous:(BOOL)continuous
|
|
968
978
|
{
|
|
969
979
|
BOOL needZoom = NO;
|
|
970
980
|
CGFloat newLongitudeDelta = 0.0f;
|
|
@@ -990,7 +1000,7 @@ static int kDragCenterContext;
|
|
|
990
1000
|
}
|
|
991
1001
|
|
|
992
1002
|
// Continuously observe region changes
|
|
993
|
-
[self _emitRegionChangeEvent:mapView continuous:
|
|
1003
|
+
[self _emitRegionChangeEvent:mapView continuous:continuous];
|
|
994
1004
|
}
|
|
995
1005
|
|
|
996
1006
|
- (void)_emitRegionChangeEvent:(AIRMap *)mapView continuous:(BOOL)continuous
|
|
@@ -1000,17 +1010,23 @@ static int kDragCenterContext;
|
|
|
1000
1010
|
if (!CLLocationCoordinate2DIsValid(region.center)) {
|
|
1001
1011
|
return;
|
|
1002
1012
|
}
|
|
1003
|
-
|
|
1013
|
+
|
|
1004
1014
|
#define FLUSH_NAN(value) (isnan(value) ? 0 : value)
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
@"
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1015
|
+
NSDictionary *payload = @{
|
|
1016
|
+
@"region": @{
|
|
1017
|
+
@"latitude": @(FLUSH_NAN(region.center.latitude)),
|
|
1018
|
+
@"longitude": @(FLUSH_NAN(region.center.longitude)),
|
|
1019
|
+
@"latitudeDelta": @(FLUSH_NAN(region.span.latitudeDelta)),
|
|
1020
|
+
@"longitudeDelta": @(FLUSH_NAN(region.span.longitudeDelta)),
|
|
1021
|
+
}
|
|
1022
|
+
};
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
if (continuous && mapView.onRegionChange) {
|
|
1026
|
+
mapView.onRegionChange(payload);
|
|
1027
|
+
} else if (mapView.onRegionChangeComplete) {
|
|
1028
|
+
mapView.onRegionChangeComplete(payload);
|
|
1029
|
+
}
|
|
1014
1030
|
}
|
|
1015
1031
|
}
|
|
1016
1032
|
|
|
@@ -117,6 +117,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
117
117
|
_pinView.layer.zPosition = self.zIndex;
|
|
118
118
|
_pinView.displayPriority = self.displayPriority;
|
|
119
119
|
_pinView.zPriority = self.zIndex;
|
|
120
|
+
_pinView.centerOffset = self.centerOffset;
|
|
120
121
|
return _pinView;
|
|
121
122
|
}
|
|
122
123
|
|
|
@@ -134,7 +135,7 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
134
135
|
_markerView.subtitleVisibility = self.subtitleVisibility ?: MKFeatureVisibilityHidden;
|
|
135
136
|
_markerView.displayPriority = self.displayPriority;
|
|
136
137
|
_markerView.zPriority = self.zIndex;
|
|
137
|
-
|
|
138
|
+
_markerView.centerOffset = self.centerOffset;
|
|
138
139
|
|
|
139
140
|
}
|
|
140
141
|
return _markerView ?: _pinView;
|
|
@@ -337,6 +338,11 @@ NSInteger const AIR_CALLOUT_OPEN_ZINDEX_BASELINE = 999;
|
|
|
337
338
|
[super setCalloutOffset:calloutOffset];
|
|
338
339
|
}
|
|
339
340
|
|
|
341
|
+
- (void) setCenterOffset:(CGPoint)centerOffset
|
|
342
|
+
{
|
|
343
|
+
[super setCenterOffset:centerOffset];
|
|
344
|
+
}
|
|
345
|
+
|
|
340
346
|
- (BOOL)shouldShowCalloutView
|
|
341
347
|
{
|
|
342
348
|
return self.calloutView != nil || self.title != nil || self.subtitle != nil;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#if HAVE_GOOGLE_MAPS == 0
|
|
11
11
|
|
|
12
12
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
13
|
-
#import <ReactNativeMaps/generated/
|
|
13
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
14
14
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
15
15
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
16
16
|
#import <ReactNativeMaps/generated/Props.h>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
#import "../../generated/RNMapsSpecs/EventEmitters.h"
|
|
21
21
|
#import "../../generated/RNMapsSpecs/Props.h"
|
|
22
22
|
#import "../../generated/RNMapsSpecs/RCTComponentViewHelpers.h"
|
|
23
|
-
#import "../../generated/
|
|
23
|
+
#import "../../generated/RNMapsHostViewDelegate.h"
|
|
24
24
|
#endif
|
|
25
25
|
#import "RCTFabricComponentsPlugins.h"
|
|
26
26
|
#import <React/RCTConversions.h>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#if HAVE_GOOGLE_MAPS == 0
|
|
11
11
|
|
|
12
12
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
13
|
-
#import <ReactNativeMaps/generated/
|
|
13
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
14
14
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
15
15
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
16
16
|
#import <ReactNativeMaps/generated/Props.h>
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
|
|
20
20
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
21
21
|
#import <ReactNativeMaps/generated/RNMapsSpecs.h>
|
|
22
|
-
#import <ReactNativeMaps/generated/
|
|
22
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
23
23
|
#else
|
|
24
24
|
#import "RNMapsSpecs.h"
|
|
25
|
-
#import "
|
|
25
|
+
#import "RNMapsHostViewDelegate.h"
|
|
26
26
|
#endif
|
|
27
27
|
@interface RNMapsAirModule()<NativeAirMapsModuleSpec>
|
|
28
28
|
@end
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
reject:(RCTPromiseRejectBlock)reject {
|
|
37
37
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
38
38
|
id view = [_viewRegistry_DEPRECATED viewForReactTag:[NSNumber numberWithDouble:tag]];
|
|
39
|
-
if ([view conformsToProtocol:@protocol(
|
|
39
|
+
if ([view conformsToProtocol:@protocol(RNMapsHostViewDelegate)]) {
|
|
40
40
|
id<RNMapsAirModuleDelegate> mapViewDelegate = [view mapView];
|
|
41
41
|
success(mapViewDelegate);
|
|
42
42
|
} else {
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
|
|
10
10
|
#import <React/RCTViewComponentView.h>
|
|
11
11
|
#import <UIKit/UIKit.h>
|
|
12
|
-
#if __has_include(<ReactNativeMaps/generated/
|
|
13
|
-
#import <ReactNativeMaps/generated/
|
|
12
|
+
#if __has_include(<ReactNativeMaps/generated/RNMapsHostViewDelegate.h>)
|
|
13
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
14
14
|
#else
|
|
15
|
-
#import "
|
|
15
|
+
#import "RNMapsHostViewDelegate.h"
|
|
16
16
|
#endif
|
|
17
17
|
@class AIRMap;
|
|
18
18
|
|
|
19
19
|
NS_ASSUME_NONNULL_BEGIN
|
|
20
20
|
|
|
21
|
-
@interface RNMapsMapView : RCTViewComponentView<
|
|
21
|
+
@interface RNMapsMapView : RCTViewComponentView<RNMapsHostViewDelegate>
|
|
22
22
|
|
|
23
23
|
@end
|
|
24
24
|
|
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
#import "AIRMapManager.h"
|
|
13
13
|
#import "RNMapsMarkerView.h"
|
|
14
14
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
15
|
+
#import <ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>
|
|
15
16
|
#import <ReactNativeMaps/generated/RNMapsSpecs.h>
|
|
16
|
-
#import <ReactNativeMaps/generated/
|
|
17
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
17
18
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
18
19
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
19
20
|
#import <ReactNativeMaps/generated/Props.h>
|
|
20
21
|
#import <ReactNativeMaps/generated/RCTComponentViewHelpers.h>
|
|
21
22
|
#else
|
|
23
|
+
#import "../generated/RNMapsAirModuleDelegate.h"
|
|
22
24
|
#import "../generated/RNMapsSpecs/RNMapsSpecs.h"
|
|
23
25
|
#import "../generated/RNMapsSpecs/ComponentDescriptors.h"
|
|
24
26
|
#import "../generated/RNMapsSpecs/EventEmitters.h"
|
|
@@ -41,7 +43,7 @@ using namespace facebook::react;
|
|
|
41
43
|
|
|
42
44
|
|
|
43
45
|
- (id<RNMapsAirModuleDelegate>) mapView {
|
|
44
|
-
return
|
|
46
|
+
return (id<RNMapsAirModuleDelegate>)_view;
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
- (void) prepareForRecycle
|
|
@@ -129,6 +131,34 @@ using namespace facebook::react;
|
|
|
129
131
|
_view = (AIRMap *)[_legacyMapManager view];
|
|
130
132
|
|
|
131
133
|
self.contentView = _view;
|
|
134
|
+
|
|
135
|
+
_view.onLongPress = [self](NSDictionary* dictionary) {
|
|
136
|
+
if (_eventEmitter) {
|
|
137
|
+
// Extract values from the NSDictionary
|
|
138
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
139
|
+
NSDictionary* positionDict = dictionary[@"position"];
|
|
140
|
+
|
|
141
|
+
// Populate the OnMapPressCoordinate struct
|
|
142
|
+
facebook::react::RNMapsMapViewEventEmitter::OnLongPressCoordinate coordinate = {
|
|
143
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
144
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
// Populate the OnMapPressPosition struct
|
|
148
|
+
facebook::react::RNMapsMapViewEventEmitter::OnLongPressPosition position = {
|
|
149
|
+
.x = [positionDict[@"x"] doubleValue],
|
|
150
|
+
.y = [positionDict[@"y"] doubleValue],
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
auto mapViewEventEmitter = std::static_pointer_cast<RNMapsMapViewEventEmitter const>(_eventEmitter);
|
|
154
|
+
facebook::react::RNMapsMapViewEventEmitter::OnLongPress data = {
|
|
155
|
+
.action = std::string([@"long-press" UTF8String]),
|
|
156
|
+
.position = position,
|
|
157
|
+
.coordinate = coordinate
|
|
158
|
+
};
|
|
159
|
+
mapViewEventEmitter->onLongPress(data);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
132
162
|
|
|
133
163
|
_view.onPress = [self](NSDictionary* dictionary) {
|
|
134
164
|
if (_eventEmitter) {
|
|
@@ -176,7 +206,7 @@ using namespace facebook::react;
|
|
|
176
206
|
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
177
207
|
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
178
208
|
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
179
|
-
.
|
|
209
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
180
210
|
};
|
|
181
211
|
mapViewEventEmitter->onRegionChange(data);
|
|
182
212
|
}
|
|
@@ -309,12 +339,28 @@ using namespace facebook::react;
|
|
|
309
339
|
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
310
340
|
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
311
341
|
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
312
|
-
.
|
|
342
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
313
343
|
};
|
|
314
344
|
mapViewEventEmitter->onRegionChangeStart(data);
|
|
315
345
|
}
|
|
316
346
|
};
|
|
317
347
|
|
|
348
|
+
_view.onRegionChangeComplete = [self](NSDictionary* dictionary) {
|
|
349
|
+
if (_eventEmitter) {
|
|
350
|
+
|
|
351
|
+
NSDictionary* regionDict = dictionary[@"region"];
|
|
352
|
+
auto mapViewEventEmitter = std::static_pointer_cast<RNMapsMapViewEventEmitter const>(_eventEmitter);
|
|
353
|
+
facebook::react::RNMapsMapViewEventEmitter::OnRegionChangeComplete data = {
|
|
354
|
+
.region.latitude = [regionDict[@"latitude"] doubleValue],
|
|
355
|
+
.region.longitude = [regionDict[@"longitude"] doubleValue],
|
|
356
|
+
.region.latitudeDelta = [regionDict[@"latitudeDelta"] doubleValue],
|
|
357
|
+
.region.longitudeDelta = [regionDict[@"longitudeDelta"] doubleValue],
|
|
358
|
+
.isGesture = [dictionary[@"isGesture"] boolValue],
|
|
359
|
+
};
|
|
360
|
+
mapViewEventEmitter->onRegionChangeComplete(data);
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
|
|
318
364
|
|
|
319
365
|
#define HANDLE_MARKER_DRAG_EVENT(eventName, emitterFunction) \
|
|
320
366
|
if (_eventEmitter) { \
|
|
@@ -498,26 +544,25 @@ newViewProps.name.right); \
|
|
|
498
544
|
|
|
499
545
|
#define REMAP_MAPVIEW_MAPTYPE(rnMapType) MKMapType##rnMapType
|
|
500
546
|
|
|
501
|
-
|
|
502
547
|
REMAP_MAPVIEW_PROP(cacheEnabled)
|
|
503
|
-
|
|
504
548
|
REMAP_MAPVIEW_PROP(followsUserLocation)
|
|
505
549
|
REMAP_MAPVIEW_PROP(loadingEnabled)
|
|
506
|
-
|
|
507
550
|
REMAP_MAPVIEW_PROP(scrollEnabled)
|
|
508
551
|
REMAP_MAPVIEW_PROP(handlePanDrag)
|
|
509
|
-
|
|
510
552
|
REMAP_MAPVIEW_PROP(maxDelta)
|
|
511
553
|
REMAP_MAPVIEW_PROP(maxZoom)
|
|
512
554
|
REMAP_MAPVIEW_PROP(minDelta)
|
|
513
555
|
REMAP_MAPVIEW_PROP(minZoom)
|
|
514
|
-
|
|
515
556
|
REMAP_MAPVIEW_PROP(showsCompass)
|
|
516
557
|
REMAP_MAPVIEW_PROP(showsScale)
|
|
517
558
|
REMAP_MAPVIEW_PROP(showsUserLocation)
|
|
518
559
|
REMAP_MAPVIEW_PROP(userLocationCalloutEnabled)
|
|
519
560
|
REMAP_MAPVIEW_PROP(zoomEnabled)
|
|
520
|
-
|
|
561
|
+
REMAP_MAPVIEW_PROP(loadingEnabled)
|
|
562
|
+
REMAP_MAPVIEW_PROP(showsTraffic)
|
|
563
|
+
REMAP_MAPVIEW_PROP(pitchEnabled)
|
|
564
|
+
REMAP_MAPVIEW_PROP(showsBuildings)
|
|
565
|
+
REMAP_MAPVIEW_PROP(rotateEnabled)
|
|
521
566
|
|
|
522
567
|
REMAP_MAPVIEW_POINT_PROP(compassOffset)
|
|
523
568
|
|
|
@@ -33,8 +33,8 @@ RCT_EXPORT_VIEW_PROPERTY(onMarkerDrag, RCTDirectEventBlock)
|
|
|
33
33
|
RCT_EXPORT_VIEW_PROPERTY(onMarkerDragEnd, RCTDirectEventBlock)
|
|
34
34
|
|
|
35
35
|
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeStart, RCTDirectEventBlock)
|
|
36
|
-
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
|
|
37
36
|
RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
|
|
37
|
+
RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
|
|
38
38
|
RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTDirectEventBlock)
|
|
39
39
|
|
|
40
40
|
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
#import "AIRMapMarker.h"
|
|
12
12
|
#import "AIRMapMarkerManager.h"
|
|
13
13
|
#if __has_include(<ReactNativeMaps/generated/RNMapsAirModuleDelegate.h>)
|
|
14
|
-
#import <ReactNativeMaps/generated/
|
|
14
|
+
#import <ReactNativeMaps/generated/RNMapsHostViewDelegate.h>
|
|
15
15
|
#import <ReactNativeMaps/generated/ComponentDescriptors.h>
|
|
16
16
|
#import <ReactNativeMaps/generated/EventEmitters.h>
|
|
17
17
|
#import <ReactNativeMaps/generated/Props.h>
|
|
18
18
|
#import <ReactNativeMaps/generated/RCTComponentViewHelpers.h>
|
|
19
19
|
#else
|
|
20
|
-
#import "../generated/
|
|
20
|
+
#import "../generated/RNMapsHostViewDelegate.h"
|
|
21
21
|
#import "../generated/RNMapsSpecs/ComponentDescriptors.h"
|
|
22
22
|
#import "../generated/RNMapsSpecs/EventEmitters.h"
|
|
23
23
|
#import "../generated/RNMapsSpecs/Props.h"
|
|
@@ -367,8 +367,9 @@ _view.name = CGPointMake(newViewProps.name.x, newViewProps.name.y); \
|
|
|
367
367
|
|
|
368
368
|
REMAP_MAPVIEW_COLOR_PROP(pinColor)
|
|
369
369
|
|
|
370
|
-
|
|
371
370
|
REMAP_MAPVIEW_POINT_PROP(calloutOffset)
|
|
371
|
+
REMAP_MAPVIEW_POINT_PROP(centerOffset)
|
|
372
|
+
|
|
372
373
|
if (newViewProps.coordinate.latitude != oldViewProps.coordinate.latitude ||
|
|
373
374
|
newViewProps.coordinate.longitude != oldViewProps.coordinate.longitude) {
|
|
374
375
|
CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
success:(RCTPromiseResolveBlock) success error:(RCTPromiseRejectBlock) error;
|
|
18
18
|
|
|
19
19
|
- (NSDictionary *) getCameraDic;
|
|
20
|
-
- (NSDictionary*) getMarkersFramesWithOnlyVisible:(BOOL)onlyVisible;
|
|
20
|
+
- (NSDictionary *) getMarkersFramesWithOnlyVisible:(BOOL)onlyVisible;
|
|
21
21
|
- (NSDictionary *) getMapBoundaries;
|
|
22
22
|
- (NSDictionary *) getPointForCoordinates:(CLLocationCoordinate2D) location;
|
|
23
23
|
- (NSDictionary *) getCoordinatesForPoint:(CGPoint) point;
|
|
@@ -24,6 +24,8 @@ registry->add(concreteComponentDescriptorProvider<RNMapsMapViewComponentDescript
|
|
|
24
24
|
registry->add(concreteComponentDescriptorProvider<RNMapsMarkerComponentDescriptor>());
|
|
25
25
|
registry->add(concreteComponentDescriptorProvider<RNMapsOverlayComponentDescriptor>());
|
|
26
26
|
registry->add(concreteComponentDescriptorProvider<RNMapsPolylineComponentDescriptor>());
|
|
27
|
+
registry->add(concreteComponentDescriptorProvider<RNMapsUrlTileComponentDescriptor>());
|
|
28
|
+
registry->add(concreteComponentDescriptorProvider<RNMapsWMSTileComponentDescriptor>());
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
} // namespace facebook::react
|
|
@@ -24,6 +24,8 @@ using RNMapsMapViewComponentDescriptor = ConcreteComponentDescriptor<RNMapsMapVi
|
|
|
24
24
|
using RNMapsMarkerComponentDescriptor = ConcreteComponentDescriptor<RNMapsMarkerShadowNode>;
|
|
25
25
|
using RNMapsOverlayComponentDescriptor = ConcreteComponentDescriptor<RNMapsOverlayShadowNode>;
|
|
26
26
|
using RNMapsPolylineComponentDescriptor = ConcreteComponentDescriptor<RNMapsPolylineShadowNode>;
|
|
27
|
+
using RNMapsUrlTileComponentDescriptor = ConcreteComponentDescriptor<RNMapsUrlTileShadowNode>;
|
|
28
|
+
using RNMapsWMSTileComponentDescriptor = ConcreteComponentDescriptor<RNMapsWMSTileShadowNode>;
|
|
27
29
|
|
|
28
30
|
void RNMapsSpecs_registerComponentDescriptorsFromCodegen(
|
|
29
31
|
std::shared_ptr<const ComponentDescriptorProviderRegistry> registry);
|