react-native-maps 1.21.0-alpha.7 → 1.21.0-alpha.71
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 +38 -13
- 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 +17 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +200 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +71 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -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 +26 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +28 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +918 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +787 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +154 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1058 -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 +21 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +76 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +77 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- 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 +593 -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/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/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/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/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 +22 -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/MapView.java +1618 -1346
- package/ios/AirGoogleMaps/AIRGoogleMap.h +3 -2
- package/ios/AirGoogleMaps/AIRGoogleMap.m +153 -48
- 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.h +3 -0
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +3 -3
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +161 -61
- 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 +6 -3
- package/ios/AirMaps/AIRMap.m +289 -145
- package/ios/AirMaps/AIRMapManager.m +8 -17
- 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/RCTConvert+AirMap.h +4 -0
- package/ios/AirMaps/RCTConvert+AirMap.m +2 -0
- 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 +344 -307
- 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 +26 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +28 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +918 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.h +787 -0
- package/ios/generated/RNMapsSpecs/Props.cpp +154 -0
- package/ios/generated/RNMapsSpecs/Props.h +1058 -0
- package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +549 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +21 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +76 -0
- package/ios/generated/RNMapsSpecs/States.cpp +16 -0
- package/ios/generated/RNMapsSpecs/States.h +77 -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/MapCallout.js +1 -0
- package/lib/MapMarker.d.ts +15 -2
- package/lib/MapMarker.js +53 -9
- package/lib/MapMarkerNativeComponent.js +0 -2
- package/lib/MapOverlay.js +2 -8
- package/lib/MapPolyline.d.ts +1 -1
- package/lib/MapView.d.ts +7 -22
- package/lib/MapView.js +83 -94
- package/lib/{FabricMapView.d.ts → createFabricMap.d.ts} +7 -11
- package/lib/createFabricMap.js +175 -0
- package/lib/decorateMapComponent.js +22 -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 +12 -12
- package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
- package/lib/specs/NativeComponentGooglePolygon.js +9 -0
- package/lib/specs/NativeComponentMapView.d.ts +19 -36
- package/lib/specs/NativeComponentMapView.js +1 -3
- package/lib/specs/NativeComponentMarker.d.ts +258 -0
- package/lib/specs/NativeComponentMarker.js +19 -0
- package/package.json +15 -10
- package/react-native-maps.podspec +2 -1
- package/lib/FabricMapView.js +0 -181
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsMarker.h
|
|
3
|
+
// AirMaps
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
9
|
+
|
|
10
|
+
#import <React/RCTViewComponentView.h>
|
|
11
|
+
#import <UIKit/UIKit.h>
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
14
|
+
|
|
15
|
+
typedef void (^LoadCompletionHandler)(UIView *view);
|
|
16
|
+
|
|
17
|
+
@class AIRMapMarker;
|
|
18
|
+
@interface RNMapsMarkerView : RCTViewComponentView
|
|
19
|
+
- (AIRMapMarker*) marker;
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
NS_ASSUME_NONNULL_END
|
|
23
|
+
|
|
24
|
+
#endif
|
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsMarker.m
|
|
3
|
+
// AirMaps
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RNMapsMarkerView.h"
|
|
10
|
+
#import "AirMap.h"
|
|
11
|
+
#import "AIRMapMarker.h"
|
|
12
|
+
#import "AIRMapMarkerManager.h"
|
|
13
|
+
#import <react-native-maps-generated/ComponentDescriptors.h>
|
|
14
|
+
#import <react-native-maps-generated/EventEmitters.h>
|
|
15
|
+
#import <react-native-maps-generated/Props.h>
|
|
16
|
+
#import <react-native-maps-generated/RCTComponentViewHelpers.h>
|
|
17
|
+
#import "RCTFabricComponentsPlugins.h"
|
|
18
|
+
#import <React/RCTConversions.h>
|
|
19
|
+
#import "UIView+AirMap.h"
|
|
20
|
+
|
|
21
|
+
using namespace facebook::react;
|
|
22
|
+
|
|
23
|
+
@interface RNMapsMarkerView () <RCTRNMapsMarkerViewProtocol>
|
|
24
|
+
@end
|
|
25
|
+
|
|
26
|
+
@implementation RNMapsMarkerView {
|
|
27
|
+
AIRMapMarker *_view;
|
|
28
|
+
AIRMapMarkerManager* _legacyMapManager;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
- (AIRMapMarker *) marker {
|
|
32
|
+
return _view;
|
|
33
|
+
}
|
|
34
|
+
- (void) prepareForRecycle
|
|
35
|
+
{
|
|
36
|
+
[super prepareForRecycle];
|
|
37
|
+
[_view removeFromSuperview];
|
|
38
|
+
_view = nil;
|
|
39
|
+
_legacyMapManager = nil;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#pragma mark - JS Commands
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#pragma mark - Native commands
|
|
46
|
+
|
|
47
|
+
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
|
|
48
|
+
{
|
|
49
|
+
RCTRNMapsMarkerHandleCommand(self, commandName, args);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
54
|
+
{
|
|
55
|
+
return concreteComponentDescriptorProvider<RNMapsMarkerComponentDescriptor>();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
- (void) animateToCoordinates:(double)latitude longitude:(double)longitude duration:(NSInteger)duration
|
|
59
|
+
{
|
|
60
|
+
[_view animateToCoordinate:CLLocationCoordinate2DMake(latitude, longitude) duration:duration/1000];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (void) showCallout
|
|
64
|
+
{
|
|
65
|
+
[_view.map selectAnnotation:_view animated:YES];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
- (void) hideCallout
|
|
69
|
+
{
|
|
70
|
+
[_view.map deselectAnnotation:_view animated:YES];
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
- (void) redraw
|
|
74
|
+
{
|
|
75
|
+
// do nothing
|
|
76
|
+
}
|
|
77
|
+
- (void) redrawCallout
|
|
78
|
+
{
|
|
79
|
+
// do nothing
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
- (void) setCoordinates:(double)latitude longitude:(double)longitude
|
|
83
|
+
{
|
|
84
|
+
[_view setCoordinate:CLLocationCoordinate2DMake(latitude, longitude)];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
- (void) prepareMarkerView
|
|
90
|
+
{
|
|
91
|
+
if (_legacyMapManager && _view) return;
|
|
92
|
+
static const auto defaultProps = std::make_shared<const RNMapsMarkerProps>();
|
|
93
|
+
_props = defaultProps;
|
|
94
|
+
_legacyMapManager = [[AIRMapMarkerManager alloc] init];
|
|
95
|
+
_view = (AIRMapMarker *)[_legacyMapManager view];
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
_view.onPress = [self](NSDictionary* dictionary) {
|
|
99
|
+
if (_eventEmitter) {
|
|
100
|
+
// Extract values from the NSDictionary
|
|
101
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
102
|
+
NSDictionary* positionDict = dictionary[@"position"];
|
|
103
|
+
|
|
104
|
+
// Populate the OnCalloutPressPoint struct
|
|
105
|
+
facebook::react::RNMapsMarkerEventEmitter::OnPressPosition point = {
|
|
106
|
+
.x = [coordinateDict[@"x"] doubleValue],
|
|
107
|
+
.y = [coordinateDict[@"y"] doubleValue],
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
facebook::react::RNMapsMarkerEventEmitter::OnPressCoordinate coordinate = {
|
|
112
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
113
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
117
|
+
facebook::react::RNMapsMarkerEventEmitter::OnPress data = {
|
|
118
|
+
.action = std::string([dictionary[@"action"] UTF8String]),
|
|
119
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
120
|
+
.position = point,
|
|
121
|
+
.coordinate = coordinate,
|
|
122
|
+
};
|
|
123
|
+
eventEmitter->onPress(data);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
_view.onDeselect = [self](NSDictionary* dictionary) {
|
|
128
|
+
if (_eventEmitter) {
|
|
129
|
+
// Extract values from the NSDictionary
|
|
130
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
131
|
+
NSDictionary* positionDict = dictionary[@"position"];
|
|
132
|
+
|
|
133
|
+
// Populate the OnCalloutPressPoint struct
|
|
134
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDeselectPosition point = {
|
|
135
|
+
.x = [coordinateDict[@"x"] doubleValue],
|
|
136
|
+
.y = [coordinateDict[@"y"] doubleValue],
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDeselectCoordinate coordinate = {
|
|
141
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
142
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
146
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDeselect data = {
|
|
147
|
+
.action = std::string([dictionary[@"action"] UTF8String]),
|
|
148
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
149
|
+
.position = point,
|
|
150
|
+
.coordinate = coordinate,
|
|
151
|
+
};
|
|
152
|
+
eventEmitter->onDeselect(data);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
_view.onDrag = [self](NSDictionary* dictionary) {
|
|
157
|
+
if (_eventEmitter) {
|
|
158
|
+
// Extract values from the NSDictionary
|
|
159
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDragCoordinate coordinate = {
|
|
163
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
164
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
168
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDrag data = {
|
|
169
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
170
|
+
.coordinate = coordinate,
|
|
171
|
+
};
|
|
172
|
+
eventEmitter->onDrag(data);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
_view.onDragStart = [self](NSDictionary* dictionary) {
|
|
176
|
+
if (_eventEmitter) {
|
|
177
|
+
// Extract values from the NSDictionary
|
|
178
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
179
|
+
|
|
180
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDragStartCoordinate coordinate = {
|
|
181
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
182
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
186
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDragStart data = {
|
|
187
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
188
|
+
.coordinate = coordinate,
|
|
189
|
+
};
|
|
190
|
+
eventEmitter->onDragStart(data);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
_view.onDragEnd = [self](NSDictionary* dictionary) {
|
|
195
|
+
if (_eventEmitter) {
|
|
196
|
+
// Extract values from the NSDictionary
|
|
197
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDragEndCoordinate coordinate = {
|
|
201
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
202
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
206
|
+
facebook::react::RNMapsMarkerEventEmitter::OnDragEnd data = {
|
|
207
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
208
|
+
.coordinate = coordinate,
|
|
209
|
+
};
|
|
210
|
+
eventEmitter->onDragEnd(data);
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
_view.onSelect = [self](NSDictionary* dictionary) {
|
|
215
|
+
if (_eventEmitter) {
|
|
216
|
+
// Extract values from the NSDictionary
|
|
217
|
+
NSDictionary* coordinateDict = dictionary[@"coordinate"];
|
|
218
|
+
NSDictionary* positionDict = dictionary[@"position"];
|
|
219
|
+
|
|
220
|
+
// Populate the OnCalloutPressPoint struct
|
|
221
|
+
facebook::react::RNMapsMarkerEventEmitter::OnSelectPosition point = {
|
|
222
|
+
.x = [coordinateDict[@"x"] doubleValue],
|
|
223
|
+
.y = [coordinateDict[@"y"] doubleValue],
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
facebook::react::RNMapsMarkerEventEmitter::OnSelectCoordinate coordinate = {
|
|
228
|
+
.latitude = [coordinateDict[@"latitude"] doubleValue],
|
|
229
|
+
.longitude = [coordinateDict[@"longitude"] doubleValue],
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
233
|
+
facebook::react::RNMapsMarkerEventEmitter::OnSelect data = {
|
|
234
|
+
.action = std::string([dictionary[@"action"] UTF8String]),
|
|
235
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
236
|
+
.position = point,
|
|
237
|
+
.coordinate = coordinate,
|
|
238
|
+
};
|
|
239
|
+
eventEmitter->onSelect(data);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
_view.onCalloutPress = [self](NSDictionary* dictionary) {
|
|
245
|
+
if (_eventEmitter) {
|
|
246
|
+
// Extract values from the NSDictionary
|
|
247
|
+
NSDictionary* pointDict = dictionary[@"point"];
|
|
248
|
+
NSDictionary* frameDict = dictionary[@"frame"];
|
|
249
|
+
|
|
250
|
+
// Populate the OnCalloutPressPoint struct
|
|
251
|
+
facebook::react::RNMapsMarkerEventEmitter::OnCalloutPressPoint point = {
|
|
252
|
+
.x = [pointDict[@"x"] doubleValue],
|
|
253
|
+
.y = [pointDict[@"y"] doubleValue],
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
facebook::react::RNMapsMarkerEventEmitter::OnCalloutPressFrame frame = {
|
|
258
|
+
.x = [frameDict[@"x"] doubleValue],
|
|
259
|
+
.y = [frameDict[@"x"] doubleValue],
|
|
260
|
+
.width = [frameDict[@"width"] doubleValue],
|
|
261
|
+
.height = [frameDict[@"height"] doubleValue],
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
auto eventEmitter = std::static_pointer_cast<RNMapsMarkerEventEmitter const>(_eventEmitter);
|
|
265
|
+
facebook::react::RNMapsMarkerEventEmitter::OnCalloutPress data = {
|
|
266
|
+
.action = std::string([dictionary[@"action"] UTF8String]),
|
|
267
|
+
.id = std::string([dictionary[@"id"] UTF8String]),
|
|
268
|
+
.frame = frame,
|
|
269
|
+
.point = point,
|
|
270
|
+
};
|
|
271
|
+
eventEmitter->onCalloutPress(data);
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
- (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index{
|
|
278
|
+
if (!_view){
|
|
279
|
+
[self prepareMarkerView];
|
|
280
|
+
}
|
|
281
|
+
id<RCTComponent> paperView = [childComponentView getPaperViewFromChildComponentView];
|
|
282
|
+
if (paperView){
|
|
283
|
+
[_view insertReactSubview:paperView atIndex:index];
|
|
284
|
+
} else {
|
|
285
|
+
[_view insertReactSubview:childComponentView atIndex:index];
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
- (void) unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
290
|
+
{
|
|
291
|
+
id<RCTComponent> paperView = [childComponentView getPaperViewFromChildComponentView];
|
|
292
|
+
if (paperView){
|
|
293
|
+
[_view removeReactSubview:paperView];
|
|
294
|
+
} else {
|
|
295
|
+
[_view removeReactSubview:childComponentView];
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
299
|
+
{
|
|
300
|
+
if (self = [super initWithFrame:frame]) {
|
|
301
|
+
[self prepareMarkerView];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return self;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
- (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps
|
|
308
|
+
{
|
|
309
|
+
[self prepareMarkerView];
|
|
310
|
+
const auto &oldViewProps = *std::static_pointer_cast<RNMapsMarkerProps const>(_props);
|
|
311
|
+
const auto &newViewProps = *std::static_pointer_cast<RNMapsMarkerProps const>(props);
|
|
312
|
+
BOOL completionHandlerCalled = false;
|
|
313
|
+
|
|
314
|
+
#define REMAP_MAPVIEW_PROP(name) \
|
|
315
|
+
if (oldViewProps.name != newViewProps.name) { \
|
|
316
|
+
_view.name = newViewProps.name; \
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
#define REMAP_MAPVIEW_STRING_PROP(name) \
|
|
320
|
+
if (oldViewProps.name != newViewProps.name) { \
|
|
321
|
+
_view.name = RCTNSStringFromString(newViewProps.name); \
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
#define REMAP_MAPVIEW_COLOR_PROP(name) \
|
|
325
|
+
if (oldViewProps.name != newViewProps.name) { \
|
|
326
|
+
_view.name = RCTUIColorFromSharedColor(newViewProps.name); \
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
#define REMAP_MAPVIEW_POINT_PROP(name) \
|
|
330
|
+
if (newViewProps.name.x != oldViewProps.name.x || \
|
|
331
|
+
newViewProps.name.y != oldViewProps.name.y) { \
|
|
332
|
+
_view.name = CGPointMake(newViewProps.name.x, newViewProps.name.y); \
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if (newViewProps.zIndex != oldViewProps.zIndex){
|
|
336
|
+
if (newViewProps.zIndex.has_value()){
|
|
337
|
+
_view.zIndex = newViewProps.zIndex.value();
|
|
338
|
+
} else {
|
|
339
|
+
// default
|
|
340
|
+
_view.zIndex = 0;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
if (newViewProps.image != oldViewProps.image){
|
|
344
|
+
if (newViewProps.image.uri.size()){
|
|
345
|
+
[_view setImageSrc:RCTNSStringFromString(newViewProps.image.uri)];
|
|
346
|
+
completionHandlerCalled = true;
|
|
347
|
+
} else {
|
|
348
|
+
[_view setImageSrc:nil];
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
REMAP_MAPVIEW_PROP(useLegacyPinView)
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
REMAP_MAPVIEW_PROP(opacity)
|
|
356
|
+
REMAP_MAPVIEW_PROP(draggable)
|
|
357
|
+
REMAP_MAPVIEW_PROP(isPreselected)
|
|
358
|
+
|
|
359
|
+
REMAP_MAPVIEW_COLOR_PROP(pinColor)
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
REMAP_MAPVIEW_POINT_PROP(calloutOffset)
|
|
363
|
+
if (newViewProps.coordinate.latitude != oldViewProps.coordinate.latitude ||
|
|
364
|
+
newViewProps.coordinate.longitude != oldViewProps.coordinate.longitude) {
|
|
365
|
+
CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(
|
|
366
|
+
newViewProps.coordinate.latitude,
|
|
367
|
+
newViewProps.coordinate.longitude);
|
|
368
|
+
_view.coordinate = coordinates;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
if (newViewProps.description != oldViewProps.description){
|
|
373
|
+
_view.subtitle = RCTNSStringFromString(newViewProps.description);
|
|
374
|
+
}
|
|
375
|
+
REMAP_MAPVIEW_STRING_PROP(title)
|
|
376
|
+
REMAP_MAPVIEW_STRING_PROP(identifier)
|
|
377
|
+
if (newViewProps.titleVisibility != oldViewProps.titleVisibility){
|
|
378
|
+
switch (newViewProps.titleVisibility) {
|
|
379
|
+
case RNMapsMarkerTitleVisibility::Visible:
|
|
380
|
+
[_view setTitleVisibility:MKFeatureVisibilityVisible];
|
|
381
|
+
break;
|
|
382
|
+
case RNMapsMarkerTitleVisibility::Adaptive:
|
|
383
|
+
[_view setTitleVisibility:MKFeatureVisibilityAdaptive];
|
|
384
|
+
break;
|
|
385
|
+
case RNMapsMarkerTitleVisibility::Hidden:
|
|
386
|
+
[_view setTitleVisibility:MKFeatureVisibilityHidden];
|
|
387
|
+
break;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
if (newViewProps.subtitleVisibility != oldViewProps.subtitleVisibility){
|
|
391
|
+
switch (newViewProps.subtitleVisibility) {
|
|
392
|
+
case RNMapsMarkerSubtitleVisibility::Visible:
|
|
393
|
+
[_view setSubtitleVisibility:MKFeatureVisibilityVisible];
|
|
394
|
+
break;
|
|
395
|
+
case RNMapsMarkerSubtitleVisibility::Adaptive:
|
|
396
|
+
[_view setSubtitleVisibility:MKFeatureVisibilityAdaptive];
|
|
397
|
+
break;
|
|
398
|
+
case RNMapsMarkerSubtitleVisibility::Hidden:
|
|
399
|
+
[_view setSubtitleVisibility:MKFeatureVisibilityHidden];
|
|
400
|
+
break;
|
|
401
|
+
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
if (newViewProps.displayPriority != oldViewProps.displayPriority){
|
|
406
|
+
switch (newViewProps.displayPriority) {
|
|
407
|
+
case RNMapsMarkerDisplayPriority::Required:
|
|
408
|
+
[_view setDisplayPriority:MKFeatureDisplayPriorityRequired];
|
|
409
|
+
break;
|
|
410
|
+
case RNMapsMarkerDisplayPriority::High:
|
|
411
|
+
[_view setDisplayPriority:MKFeatureDisplayPriorityDefaultHigh];
|
|
412
|
+
break;
|
|
413
|
+
case RNMapsMarkerDisplayPriority::Low:
|
|
414
|
+
[_view setDisplayPriority:MKFeatureDisplayPriorityDefaultLow];
|
|
415
|
+
break;
|
|
416
|
+
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
[super updateProps:props oldProps:oldProps];
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
@end
|
|
426
|
+
|
|
427
|
+
Class<RCTComponentViewProtocol> RNMapsMarkerCls(void)
|
|
428
|
+
{
|
|
429
|
+
return RNMapsMarkerView.class;
|
|
430
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNMapsMarkerManager.m
|
|
3
|
+
// AirMaps
|
|
4
|
+
//
|
|
5
|
+
// Created by Salah Ghanim on 23.11.24.
|
|
6
|
+
// Copyright © 2024 react-native-maps. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <React/RCTLog.h>
|
|
10
|
+
#import <React/RCTUIManager.h>
|
|
11
|
+
#import <React/RCTViewManager.h>
|
|
12
|
+
|
|
13
|
+
@interface RNMapsMarkerViewManager : RCTViewManager
|
|
14
|
+
@end
|
|
15
|
+
|
|
16
|
+
@implementation RNMapsMarkerViewManager
|
|
17
|
+
|
|
18
|
+
RCT_EXPORT_MODULE(RNMapsMarkerViewManager)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Created by Leland Richardson on 12/27/15.
|
|
3
|
+
// Copyright (c) 2015 Facebook. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import "UIView+AirMap.h"
|
|
7
|
+
|
|
8
|
+
@implementation UIView (AirMap)
|
|
9
|
+
|
|
10
|
+
- (UIView *) getPaperViewFromChildComponentView {
|
|
11
|
+
// Check if the childComponentView responds to the "adapter" selector
|
|
12
|
+
if ([self respondsToSelector:@selector(paperView)]) {
|
|
13
|
+
// Safely return the paperView
|
|
14
|
+
return [self valueForKey:@"paperView"];
|
|
15
|
+
}
|
|
16
|
+
// Return nil if paperView is not accessible
|
|
17
|
+
return nil;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@end
|
|
@@ -28,6 +28,13 @@
|
|
|
28
28
|
4E0CFBDE2B388F2B0017E126 /* RCTComponentData+Maps.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0CFBDD2B388F2B0017E126 /* RCTComponentData+Maps.m */; };
|
|
29
29
|
4E430F272CF20153006E4F41 /* RNMapsMarkerManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4E430F262CF20153006E4F41 /* RNMapsMarkerManager.mm */; };
|
|
30
30
|
4E430F2A2CF20305006E4F41 /* RNMapsMarker.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4E430F292CF20305006E4F41 /* RNMapsMarker.mm */; };
|
|
31
|
+
4E84CA362D3C4ACF00D23ADD /* EventEmitters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA282D3C4ACF00D23ADD /* EventEmitters.cpp */; };
|
|
32
|
+
4E84CA372D3C4ACF00D23ADD /* RNMapsSpecsJSI-generated.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA342D3C4ACF00D23ADD /* RNMapsSpecsJSI-generated.cpp */; };
|
|
33
|
+
4E84CA382D3C4ACF00D23ADD /* Props.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA2A2D3C4ACF00D23ADD /* Props.cpp */; };
|
|
34
|
+
4E84CA392D3C4ACF00D23ADD /* ShadowNodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA2F2D3C4ACF00D23ADD /* ShadowNodes.cpp */; };
|
|
35
|
+
4E84CA3A2D3C4ACF00D23ADD /* RNMapsSpecs-generated.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA2D2D3C4ACF00D23ADD /* RNMapsSpecs-generated.mm */; };
|
|
36
|
+
4E84CA3B2D3C4ACF00D23ADD /* ComponentDescriptors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA262D3C4ACF00D23ADD /* ComponentDescriptors.cpp */; };
|
|
37
|
+
4E84CA3C2D3C4ACF00D23ADD /* States.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E84CA312D3C4ACF00D23ADD /* States.cpp */; };
|
|
31
38
|
53D31636202E723B00B55447 /* AIRMapOverlayManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D31635202E723B00B55447 /* AIRMapOverlayManager.m */; };
|
|
32
39
|
53D3163A202E72FC00B55447 /* AIRMapOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D31639202E72FC00B55447 /* AIRMapOverlay.m */; };
|
|
33
40
|
53D3163D202E734F00B55447 /* AIRMapOverlayRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D3163C202E734F00B55447 /* AIRMapOverlayRenderer.m */; };
|
|
@@ -122,6 +129,21 @@
|
|
|
122
129
|
4E430F262CF20153006E4F41 /* RNMapsMarkerManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RNMapsMarkerManager.mm; sourceTree = "<group>"; };
|
|
123
130
|
4E430F282CF20305006E4F41 /* RNMapsMarker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNMapsMarker.h; sourceTree = "<group>"; };
|
|
124
131
|
4E430F292CF20305006E4F41 /* RNMapsMarker.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RNMapsMarker.mm; sourceTree = "<group>"; };
|
|
132
|
+
4E84CA252D3C4ACF00D23ADD /* ComponentDescriptors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ComponentDescriptors.h; sourceTree = "<group>"; };
|
|
133
|
+
4E84CA262D3C4ACF00D23ADD /* ComponentDescriptors.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentDescriptors.cpp; sourceTree = "<group>"; };
|
|
134
|
+
4E84CA272D3C4ACF00D23ADD /* EventEmitters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EventEmitters.h; sourceTree = "<group>"; };
|
|
135
|
+
4E84CA282D3C4ACF00D23ADD /* EventEmitters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = EventEmitters.cpp; sourceTree = "<group>"; };
|
|
136
|
+
4E84CA292D3C4ACF00D23ADD /* Props.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Props.h; sourceTree = "<group>"; };
|
|
137
|
+
4E84CA2A2D3C4ACF00D23ADD /* Props.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Props.cpp; sourceTree = "<group>"; };
|
|
138
|
+
4E84CA2B2D3C4ACF00D23ADD /* RCTComponentViewHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTComponentViewHelpers.h; sourceTree = "<group>"; };
|
|
139
|
+
4E84CA2C2D3C4ACF00D23ADD /* RNMapsSpecs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNMapsSpecs.h; sourceTree = "<group>"; };
|
|
140
|
+
4E84CA2D2D3C4ACF00D23ADD /* RNMapsSpecs-generated.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = "RNMapsSpecs-generated.mm"; sourceTree = "<group>"; };
|
|
141
|
+
4E84CA2E2D3C4ACF00D23ADD /* ShadowNodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShadowNodes.h; sourceTree = "<group>"; };
|
|
142
|
+
4E84CA2F2D3C4ACF00D23ADD /* ShadowNodes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ShadowNodes.cpp; sourceTree = "<group>"; };
|
|
143
|
+
4E84CA302D3C4ACF00D23ADD /* States.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = States.h; sourceTree = "<group>"; };
|
|
144
|
+
4E84CA312D3C4ACF00D23ADD /* States.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = States.cpp; sourceTree = "<group>"; };
|
|
145
|
+
4E84CA332D3C4ACF00D23ADD /* RNMapsSpecsJSI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNMapsSpecsJSI.h; sourceTree = "<group>"; };
|
|
146
|
+
4E84CA342D3C4ACF00D23ADD /* RNMapsSpecsJSI-generated.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "RNMapsSpecsJSI-generated.cpp"; sourceTree = "<group>"; };
|
|
125
147
|
53D31635202E723B00B55447 /* AIRMapOverlayManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AIRMapOverlayManager.m; sourceTree = "<group>"; };
|
|
126
148
|
53D31637202E725E00B55447 /* AIRMapOverlayManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AIRMapOverlayManager.h; sourceTree = "<group>"; };
|
|
127
149
|
53D31638202E72D500B55447 /* AIRMapOverlay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AIRMapOverlay.h; sourceTree = "<group>"; };
|
|
@@ -208,6 +230,7 @@
|
|
|
208
230
|
11FA5C481C4A1296003AC2EE = {
|
|
209
231
|
isa = PBXGroup;
|
|
210
232
|
children = (
|
|
233
|
+
4E84CA352D3C4ACF00D23ADD /* generated */,
|
|
211
234
|
4E0A36152BFB4E76009FCCE4 /* PrivacyInfo.xcprivacy */,
|
|
212
235
|
9B9498A32017EF9D00158761 /* AirGoogleMaps */,
|
|
213
236
|
62AEC4D31FD5A0AA003225E0 /* AIRMapLocalTileOverlay.m */,
|
|
@@ -297,6 +320,36 @@
|
|
|
297
320
|
path = AirMaps;
|
|
298
321
|
sourceTree = "<group>";
|
|
299
322
|
};
|
|
323
|
+
4E84CA322D3C4ACF00D23ADD /* RNMapsSpecs */ = {
|
|
324
|
+
isa = PBXGroup;
|
|
325
|
+
children = (
|
|
326
|
+
4E84CA252D3C4ACF00D23ADD /* ComponentDescriptors.h */,
|
|
327
|
+
4E84CA262D3C4ACF00D23ADD /* ComponentDescriptors.cpp */,
|
|
328
|
+
4E84CA272D3C4ACF00D23ADD /* EventEmitters.h */,
|
|
329
|
+
4E84CA282D3C4ACF00D23ADD /* EventEmitters.cpp */,
|
|
330
|
+
4E84CA292D3C4ACF00D23ADD /* Props.h */,
|
|
331
|
+
4E84CA2A2D3C4ACF00D23ADD /* Props.cpp */,
|
|
332
|
+
4E84CA2B2D3C4ACF00D23ADD /* RCTComponentViewHelpers.h */,
|
|
333
|
+
4E84CA2C2D3C4ACF00D23ADD /* RNMapsSpecs.h */,
|
|
334
|
+
4E84CA2D2D3C4ACF00D23ADD /* RNMapsSpecs-generated.mm */,
|
|
335
|
+
4E84CA2E2D3C4ACF00D23ADD /* ShadowNodes.h */,
|
|
336
|
+
4E84CA2F2D3C4ACF00D23ADD /* ShadowNodes.cpp */,
|
|
337
|
+
4E84CA302D3C4ACF00D23ADD /* States.h */,
|
|
338
|
+
4E84CA312D3C4ACF00D23ADD /* States.cpp */,
|
|
339
|
+
);
|
|
340
|
+
path = RNMapsSpecs;
|
|
341
|
+
sourceTree = "<group>";
|
|
342
|
+
};
|
|
343
|
+
4E84CA352D3C4ACF00D23ADD /* generated */ = {
|
|
344
|
+
isa = PBXGroup;
|
|
345
|
+
children = (
|
|
346
|
+
4E84CA322D3C4ACF00D23ADD /* RNMapsSpecs */,
|
|
347
|
+
4E84CA332D3C4ACF00D23ADD /* RNMapsSpecsJSI.h */,
|
|
348
|
+
4E84CA342D3C4ACF00D23ADD /* RNMapsSpecsJSI-generated.cpp */,
|
|
349
|
+
);
|
|
350
|
+
path = generated;
|
|
351
|
+
sourceTree = "<group>";
|
|
352
|
+
};
|
|
300
353
|
9B9498A32017EF9D00158761 /* AirGoogleMaps */ = {
|
|
301
354
|
isa = PBXGroup;
|
|
302
355
|
children = (
|
|
@@ -445,6 +498,13 @@
|
|
|
445
498
|
1125B2DF1C4AD3DA007D0023 /* AIRMapCoordinate.m in Sources */,
|
|
446
499
|
9B9498D62017EFB800158761 /* AIRGoogleMapCircleManager.m in Sources */,
|
|
447
500
|
8BC85FB02107CFEC0006CEA5 /* AIRGoogleMapOverlay.m in Sources */,
|
|
501
|
+
4E84CA362D3C4ACF00D23ADD /* EventEmitters.cpp in Sources */,
|
|
502
|
+
4E84CA372D3C4ACF00D23ADD /* RNMapsSpecsJSI-generated.cpp in Sources */,
|
|
503
|
+
4E84CA382D3C4ACF00D23ADD /* Props.cpp in Sources */,
|
|
504
|
+
4E84CA392D3C4ACF00D23ADD /* ShadowNodes.cpp in Sources */,
|
|
505
|
+
4E84CA3A2D3C4ACF00D23ADD /* RNMapsSpecs-generated.mm in Sources */,
|
|
506
|
+
4E84CA3B2D3C4ACF00D23ADD /* ComponentDescriptors.cpp in Sources */,
|
|
507
|
+
4E84CA3C2D3C4ACF00D23ADD /* States.cpp in Sources */,
|
|
448
508
|
1125B2F21C4AD445007D0023 /* SMCalloutView.m in Sources */,
|
|
449
509
|
2163AA501FEAEDD100BBEC95 /* AIRMapPolylineRenderer.m in Sources */,
|
|
450
510
|
9B9498D02017EFB800158761 /* AIRGoogleMapPolylineManager.m in Sources */,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
#if __has_include(<React-RCTAppDelegate/RCTDependencyProvider.h>)
|
|
12
|
+
#import <React-RCTAppDelegate/RCTDependencyProvider.h>
|
|
13
|
+
#elif __has_include(<React_RCTAppDelegate/RCTDependencyProvider.h>)
|
|
14
|
+
#import <React_RCTAppDelegate/RCTDependencyProvider.h>
|
|
15
|
+
#else
|
|
16
|
+
#import "RCTDependencyProvider.h"
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
20
|
+
|
|
21
|
+
@interface RCTAppDependencyProvider : NSObject <RCTDependencyProvider>
|
|
22
|
+
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#import "RCTAppDependencyProvider.h"
|
|
9
|
+
#import <ReactCodegen/RCTModulesConformingToProtocolsProvider.h>
|
|
10
|
+
#import <ReactCodegen/RCTThirdPartyComponentsProvider.h>
|
|
11
|
+
|
|
12
|
+
@implementation RCTAppDependencyProvider {
|
|
13
|
+
NSArray<NSString *> * _URLRequestHandlerClassNames;
|
|
14
|
+
NSArray<NSString *> * _imageDataDecoderClassNames;
|
|
15
|
+
NSArray<NSString *> * _imageURLLoaderClassNames;
|
|
16
|
+
NSDictionary<NSString *,Class<RCTComponentViewProtocol>> * _thirdPartyFabricComponents;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
- (nonnull NSArray<NSString *> *)URLRequestHandlerClassNames {
|
|
20
|
+
static dispatch_once_t requestUrlToken;
|
|
21
|
+
dispatch_once(&requestUrlToken, ^{
|
|
22
|
+
self->_URLRequestHandlerClassNames = RCTModulesConformingToProtocolsProvider.URLRequestHandlerClassNames;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return _URLRequestHandlerClassNames;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
- (nonnull NSArray<NSString *> *)imageDataDecoderClassNames {
|
|
29
|
+
static dispatch_once_t dataDecoderToken;
|
|
30
|
+
dispatch_once(&dataDecoderToken, ^{
|
|
31
|
+
_imageDataDecoderClassNames = RCTModulesConformingToProtocolsProvider.imageDataDecoderClassNames;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return _imageDataDecoderClassNames;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
- (nonnull NSArray<NSString *> *)imageURLLoaderClassNames {
|
|
38
|
+
static dispatch_once_t urlLoaderToken;
|
|
39
|
+
dispatch_once(&urlLoaderToken, ^{
|
|
40
|
+
_imageURLLoaderClassNames = RCTModulesConformingToProtocolsProvider.imageURLLoaderClassNames;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
return _imageURLLoaderClassNames;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
- (nonnull NSDictionary<NSString *,Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents {
|
|
47
|
+
static dispatch_once_t nativeComponentsToken;
|
|
48
|
+
dispatch_once(&nativeComponentsToken, ^{
|
|
49
|
+
_thirdPartyFabricComponents = RCTThirdPartyComponentsProvider.thirdPartyFabricComponents;
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return _thirdPartyFabricComponents;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@end
|