@rnmapbox/maps 10.1.0-beta.13 → 10.1.0-beta.14
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/rnmapbox/rnmbx/RNMBXPackage.kt +19 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXAndroidTextureMapViewManager.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +15 -15
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXImageSource.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +21 -23
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +0 -46
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceModule.kt +61 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/{RCTSource.kt → RNMBXSource.kt} +8 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSource.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +4 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/ViewTagResolver.kt +6 -5
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageSourceManagerDelegate.java +41 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageSourceManagerInterface.java +20 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterDemSourceManagerDelegate.java +50 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterDemSourceManagerInterface.java +23 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerDelegate.java +56 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterSourceManagerInterface.java +25 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerDelegate.java +77 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerInterface.java +32 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXVectorSourceManagerDelegate.java +59 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXVectorSourceManagerInterface.java +26 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXShapeSourceModuleSpec.java +48 -0
- package/ios/RNMBX/RNMBXBackgroundLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXCircleLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXFillExtrusionLayerComponentView.mm +3 -1
- package/ios/RNMBX/RNMBXFillLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXHeatmapLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXImageSource.swift +3 -3
- package/ios/RNMBX/RNMBXImageSourceComponentView.h +15 -0
- package/ios/RNMBX/RNMBXImageSourceComponentView.mm +100 -0
- package/ios/RNMBX/{RNMBXImageSourceManager.m → RNMBXImageSourceViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXImageSourceManager.swift → RNMBXImageSourceViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXInteractiveElement.swift +7 -7
- package/ios/RNMBX/RNMBXLayer.swift +1 -1
- package/ios/RNMBX/RNMBXLineLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXMapFeatureView.h +7 -0
- package/ios/RNMBX/RNMBXRasterDemSource.swift +6 -6
- package/ios/RNMBX/RNMBXRasterDemSourceComponentView.h +17 -0
- package/ios/RNMBX/RNMBXRasterDemSourceComponentView.mm +116 -0
- package/ios/RNMBX/{RNMBXRasterDemSourceManager.m → RNMBXRasterDemSourceViewManager.m} +1 -7
- package/ios/RNMBX/{RNMBXRasterDemSourceManager.swift → RNMBXRasterDemSourceViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXRasterLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXRasterSource.swift +8 -8
- package/ios/RNMBX/RNMBXRasterSourceComponentView.h +17 -0
- package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +124 -0
- package/ios/RNMBX/{RNMBXRasterSourceManager.m → RNMBXRasterSourceViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXRasterSourceManager.swift → RNMBXRasterSourceViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXShapeSource.swift +11 -11
- package/ios/RNMBX/RNMBXShapeSourceComponentView.h +17 -0
- package/ios/RNMBX/RNMBXShapeSourceComponentView.mm +153 -0
- package/ios/RNMBX/RNMBXShapeSourceModule.h +18 -0
- package/ios/RNMBX/RNMBXShapeSourceModule.mm +87 -0
- package/ios/RNMBX/RNMBXShapeSourceViewManager.m +26 -0
- package/ios/RNMBX/{RNMBXShapeSourceManager.swift → RNMBXShapeSourceViewManager.swift} +12 -42
- package/ios/RNMBX/RNMBXSkyLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXSource.swift +36 -27
- package/ios/RNMBX/RNMBXSymbolLayerComponentView.mm +2 -0
- package/ios/RNMBX/RNMBXTileSource.swift +2 -2
- package/ios/RNMBX/RNMBXVectorSource.swift +6 -6
- package/ios/RNMBX/RNMBXVectorSourceComponentView.h +17 -0
- package/ios/RNMBX/RNMBXVectorSourceComponentView.mm +141 -0
- package/ios/RNMBX/{RNMBXVectorSourceManager.m → RNMBXVectorSourceViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXVectorSourceManager.swift → RNMBXVectorSourceViewManager.swift} +2 -2
- package/ios/install.md +1 -0
- package/lib/commonjs/components/ImageSource.js +10 -7
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js +11 -8
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js +11 -8
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js +31 -52
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js +26 -39
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js +10 -0
- package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -0
- package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -0
- package/lib/module/components/ImageSource.js +10 -7
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/RasterDemSource.js +11 -8
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterSource.js +11 -8
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js +32 -53
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/VectorSource.js +28 -41
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/specs/NativeRNMBXShapeSourceModule.js +5 -0
- package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -0
- package/lib/module/specs/RNMBXImageSourceNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXRasterSourceNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXVectorSourceNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -0
- package/lib/typescript/src/components/ImageSource.d.ts.map +1 -1
- package/lib/typescript/src/components/RasterDemSource.d.ts +0 -1
- package/lib/typescript/src/components/RasterDemSource.d.ts.map +1 -1
- package/lib/typescript/src/components/RasterSource.d.ts +0 -1
- package/lib/typescript/src/components/RasterSource.d.ts.map +1 -1
- package/lib/typescript/src/components/ShapeSource.d.ts +2 -58
- package/lib/typescript/src/components/ShapeSource.d.ts.map +1 -1
- package/lib/typescript/src/components/VectorSource.d.ts +3 -64
- package/lib/typescript/src/components/VectorSource.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +11 -0
- package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXImageSourceNativeComponent.d.ts +11 -0
- package/lib/typescript/src/specs/RNMBXImageSourceNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXRasterDemSourceNativeComponent.d.ts +15 -0
- package/lib/typescript/src/specs/RNMBXRasterDemSourceNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts +17 -0
- package/lib/typescript/src/specs/RNMBXRasterSourceNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts +29 -0
- package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXVectorSourceNativeComponent.d.ts +23 -0
- package/lib/typescript/src/specs/RNMBXVectorSourceNativeComponent.d.ts.map +1 -0
- package/package.json +1 -1
- package/plugin/build/withMapbox.d.ts +5 -4
- package/plugin/build/withMapbox.js +46 -19
- package/plugin/install.md +20 -0
- package/plugin/src/withMapbox.ts +79 -21
- package/setup-jest.js +6 -0
- package/src/components/ImageSource.tsx +4 -6
- package/src/components/RasterDemSource.tsx +5 -8
- package/src/components/RasterSource.tsx +5 -8
- package/src/components/ShapeSource.tsx +39 -86
- package/src/components/VectorSource.tsx +20 -44
- package/src/specs/NativeRNMBXShapeSourceModule.ts +23 -0
- package/src/specs/RNMBXImageSourceNativeComponent.ts +15 -0
- package/src/specs/RNMBXRasterDemSourceNativeComponent.ts +19 -0
- package/src/specs/RNMBXRasterSourceNativeComponent.ts +21 -0
- package/src/specs/RNMBXShapeSourceNativeComponent.ts +35 -0
- package/src/specs/RNMBXVectorSourceNativeComponent.ts +28 -0
- package/ios/RNMBX/RNMBXShapeSourceManager.m +0 -45
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Annotation.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Event.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Feature.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/HttpInterceptor.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Image.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Light.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Location.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/MapboxMap.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/OfflineManager.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/OrnamentSettings.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/ResourceOption.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/Snapshot.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v10/com/{mapbox → rnmapbox}/rnmbx/v11compat/style.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Annotation.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Event.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Feature.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/HttpInterceptor.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Image.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Light.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Location.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/MapboxMap.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/OfflineManager.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/OrnamentSettings.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/ResourceOption.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/Snapshot.kt +0 -0
- /package/android/src/main/mapbox-v11-compat/v11/com/{mapbox → rnmapbox}/rnmbx/v11compat/style.kt +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import "RNMBXShapeSourceComponentView.h"
|
|
4
|
+
#import "RNMBXFabricHelpers.h"
|
|
5
|
+
|
|
6
|
+
#import <React/RCTConversions.h>
|
|
7
|
+
#import <React/RCTFabricComponentsPlugins.h>
|
|
8
|
+
|
|
9
|
+
#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
|
|
10
|
+
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
|
|
11
|
+
#import <react/renderer/components/rnmapbox_maps_specs/Props.h>
|
|
12
|
+
#import <react/renderer/components/rnmapbox_maps_specs/RCTComponentViewHelpers.h>
|
|
13
|
+
|
|
14
|
+
using namespace facebook::react;
|
|
15
|
+
|
|
16
|
+
@interface RNMBXShapeSourceComponentView () <RCTRNMBXShapeSourceViewProtocol>
|
|
17
|
+
@end
|
|
18
|
+
|
|
19
|
+
@implementation RNMBXShapeSourceComponentView {
|
|
20
|
+
RNMBXShapeSource *_view;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@synthesize mapFeature;
|
|
24
|
+
|
|
25
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
26
|
+
{
|
|
27
|
+
if (self = [super initWithFrame:frame]) {
|
|
28
|
+
static const auto defaultProps = std::make_shared<const RNMBXShapeSourceProps>();
|
|
29
|
+
_props = defaultProps;
|
|
30
|
+
[self prepareView];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return self;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)prepareView
|
|
37
|
+
{
|
|
38
|
+
_view = [[RNMBXShapeSource alloc] init];
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
// capture weak self reference to prevent retain cycle
|
|
42
|
+
__weak __typeof__(self) weakSelf = self;
|
|
43
|
+
|
|
44
|
+
[_view setOnPress:^(NSDictionary* event) {
|
|
45
|
+
__typeof__(self) strongSelf = weakSelf;
|
|
46
|
+
|
|
47
|
+
if (strongSelf != nullptr && strongSelf->_eventEmitter != nullptr) {
|
|
48
|
+
const auto [type, json] = RNMBXStringifyEventData(event);
|
|
49
|
+
std::dynamic_pointer_cast<const facebook::react::RNMBXShapeSourceEventEmitter>(strongSelf->_eventEmitter)->onMapboxShapeSourcePress({type, json});
|
|
50
|
+
}
|
|
51
|
+
}];
|
|
52
|
+
|
|
53
|
+
self.contentView = _view;
|
|
54
|
+
self.mapFeature = _view;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
- (void)prepareForRecycle
|
|
58
|
+
{
|
|
59
|
+
[super prepareForRecycle];
|
|
60
|
+
[self prepareView];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
64
|
+
{
|
|
65
|
+
if ([childComponentView isKindOfClass:[RCTViewComponentView class]]) {
|
|
66
|
+
[_view insertReactSubviewInternal:((RCTViewComponentView *)childComponentView).contentView at:index];
|
|
67
|
+
} else {
|
|
68
|
+
RCTLogError(@"Tried to add view that is not RCTViewComponentView: %@", childComponentView);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
- (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
73
|
+
{
|
|
74
|
+
if ([childComponentView isKindOfClass:[RCTViewComponentView class]]) {
|
|
75
|
+
[_view removeReactSubviewInternal:((RCTViewComponentView *)childComponentView).contentView];
|
|
76
|
+
} else {
|
|
77
|
+
RCTLogError(@"Tried to remove view that is not RCTViewComponentView: %@", childComponentView);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
#pragma mark - RCTComponentViewProtocol
|
|
82
|
+
|
|
83
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
84
|
+
{
|
|
85
|
+
return concreteComponentDescriptorProvider<RNMBXShapeSourceComponentDescriptor>();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
- (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps
|
|
89
|
+
{
|
|
90
|
+
const auto &newProps = *std::static_pointer_cast<const RNMBXShapeSourceProps>(props);
|
|
91
|
+
id idx = RNMBXConvertFollyDynamicToId(newProps.id);
|
|
92
|
+
if (idx != nil) {
|
|
93
|
+
_view.id = idx;
|
|
94
|
+
}
|
|
95
|
+
id existing = RNMBXConvertFollyDynamicToId(newProps.existing);
|
|
96
|
+
if (existing != nil) {
|
|
97
|
+
_view.existing = existing;
|
|
98
|
+
}
|
|
99
|
+
id shape = RNMBXConvertFollyDynamicToId(newProps.shape);
|
|
100
|
+
if (shape != nil) {
|
|
101
|
+
_view.shape = shape;
|
|
102
|
+
}
|
|
103
|
+
id cluster = RNMBXConvertFollyDynamicToId(newProps.cluster);
|
|
104
|
+
if (cluster != nil) {
|
|
105
|
+
_view.cluster = cluster;
|
|
106
|
+
}
|
|
107
|
+
id clusterRadius = RNMBXConvertFollyDynamicToId(newProps.clusterRadius);
|
|
108
|
+
if (clusterRadius != nil) {
|
|
109
|
+
_view.clusterRadius = clusterRadius;
|
|
110
|
+
}
|
|
111
|
+
id clusterMaxZoomLevel = RNMBXConvertFollyDynamicToId(newProps.clusterMaxZoomLevel);
|
|
112
|
+
if (clusterMaxZoomLevel != nil) {
|
|
113
|
+
_view.clusterMaxZoomLevel = clusterMaxZoomLevel;
|
|
114
|
+
}
|
|
115
|
+
id clusterProperties = RNMBXConvertFollyDynamicToId(newProps.clusterProperties);
|
|
116
|
+
if (clusterProperties != nil) {
|
|
117
|
+
_view.clusterProperties = clusterProperties;
|
|
118
|
+
}
|
|
119
|
+
id maxZoomLevel = RNMBXConvertFollyDynamicToId(newProps.maxZoomLevel);
|
|
120
|
+
if (maxZoomLevel != nil) {
|
|
121
|
+
_view.maxZoomLevel = maxZoomLevel;
|
|
122
|
+
}
|
|
123
|
+
id buffer = RNMBXConvertFollyDynamicToId(newProps.buffer);
|
|
124
|
+
if (buffer != nil) {
|
|
125
|
+
_view.buffer = buffer;
|
|
126
|
+
}
|
|
127
|
+
id tolerance = RNMBXConvertFollyDynamicToId(newProps.tolerance);
|
|
128
|
+
if (tolerance != nil) {
|
|
129
|
+
_view.tolerance = tolerance;
|
|
130
|
+
}
|
|
131
|
+
id lineMetrics = RNMBXConvertFollyDynamicToId(newProps.lineMetrics);
|
|
132
|
+
if (lineMetrics != nil) {
|
|
133
|
+
_view.lineMetrics = lineMetrics;
|
|
134
|
+
}
|
|
135
|
+
id hasPressListener = RNMBXConvertFollyDynamicToId(newProps.hasPressListener);
|
|
136
|
+
if (hasPressListener != nil) {
|
|
137
|
+
_view.hasPressListener = hasPressListener;
|
|
138
|
+
}
|
|
139
|
+
id hitbox = RNMBXConvertFollyDynamicToId(newProps.hitbox);
|
|
140
|
+
if (hitbox != nil) {
|
|
141
|
+
_view.hitbox = hitbox;
|
|
142
|
+
}
|
|
143
|
+
[super updateProps:props oldProps:oldProps];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@end
|
|
147
|
+
|
|
148
|
+
Class<RCTComponentViewProtocol> RNMBXShapeSourceCls(void)
|
|
149
|
+
{
|
|
150
|
+
return RNMBXShapeSourceComponentView.class;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import <UIKit/UIKit.h>
|
|
3
|
+
|
|
4
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
5
|
+
#import "rnmapbox_maps_specs.h"
|
|
6
|
+
#else
|
|
7
|
+
#import <React/RCTBridge.h>
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
@interface RNMBXShapeSourceModule : NSObject
|
|
11
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
12
|
+
<NativeRNMBXShapeSourceModuleSpec>
|
|
13
|
+
#else
|
|
14
|
+
<RCTBridgeModule>
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
@end
|
|
18
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
#import <React/RCTBridge.h>
|
|
2
|
+
#import <React/RCTUIManager.h>
|
|
3
|
+
#import <React/RCTUIManagerUtils.h>
|
|
4
|
+
|
|
5
|
+
#import "RNMBXShapeSourceModule.h"
|
|
6
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
7
|
+
#import "RNMBXShapeSourceComponentView.h"
|
|
8
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
9
|
+
|
|
10
|
+
// needed for compilation for some reason
|
|
11
|
+
#import <CoreFoundation/CoreFoundation.h>
|
|
12
|
+
#import <CoreLocation/CoreLocation.h>
|
|
13
|
+
|
|
14
|
+
@interface MapView : UIView
|
|
15
|
+
@end
|
|
16
|
+
|
|
17
|
+
#import <rnmapbox_maps-Swift.h>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@implementation RNMBXShapeSourceModule
|
|
21
|
+
|
|
22
|
+
RCT_EXPORT_MODULE();
|
|
23
|
+
|
|
24
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
25
|
+
@synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED;
|
|
26
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
27
|
+
@synthesize bridge = _bridge;
|
|
28
|
+
|
|
29
|
+
- (dispatch_queue_t)methodQueue
|
|
30
|
+
{
|
|
31
|
+
// It seems that due to how UIBlocks work with uiManager, we need to call the methods there
|
|
32
|
+
// for the blocks to be dispatched before the batch is completed
|
|
33
|
+
return RCTGetUIManagerQueue();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)withShapeSource:(nonnull NSNumber*)viewRef block:(void (^)(RNMBXShapeSource *))block reject:(RCTPromiseRejectBlock)reject methodName:(NSString *)methodName
|
|
37
|
+
{
|
|
38
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
39
|
+
[self.viewRegistry_DEPRECATED addUIBlock:^(RCTViewRegistry *viewRegistry) {
|
|
40
|
+
RNMBXShapeSourceComponentView *componentView = [self.viewRegistry_DEPRECATED viewForReactTag:viewRef];
|
|
41
|
+
RNMBXShapeSource *view = componentView.contentView;
|
|
42
|
+
|
|
43
|
+
#else
|
|
44
|
+
[self.bridge.uiManager
|
|
45
|
+
addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
46
|
+
RNMBXShapeSource *view = [uiManager viewForReactTag:viewRef];
|
|
47
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
48
|
+
if (view != nil) {
|
|
49
|
+
block(view);
|
|
50
|
+
} else {
|
|
51
|
+
reject(methodName, [NSString stringWithFormat:@"Unknown reactTag: %@", viewRef], nil);
|
|
52
|
+
}
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
RCT_EXPORT_METHOD(getClusterChildren:(nonnull NSNumber *)viewRef featureJSON:(NSString *)featureJSON resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
58
|
+
{
|
|
59
|
+
[self withShapeSource:viewRef block:^(RNMBXShapeSource *view) {
|
|
60
|
+
[RNMBXShapeSourceViewManager getClusterChildrenWithShapeSource:view featureJSON:featureJSON resolver:resolve rejecter:reject];
|
|
61
|
+
} reject:reject methodName:@"getClusterChildren"];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
RCT_EXPORT_METHOD(getClusterLeaves:(nonnull NSNumber *)viewRef featureJSON:(NSString *)featureJSON number:(double)number offset:(double)offset resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
65
|
+
{
|
|
66
|
+
[self withShapeSource:viewRef block:^(RNMBXShapeSource *view) {
|
|
67
|
+
[RNMBXShapeSourceViewManager getClusterLeavesWithShapeSource:view featureJSON:featureJSON number:number offset:offset resolver:resolve rejecter:reject];
|
|
68
|
+
} reject:reject methodName:@"getClusterLeaves"];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
RCT_EXPORT_METHOD(getClusterExpansionZoom:(nonnull NSNumber *)viewRef featureJSON:(NSString *)featureJSON resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
72
|
+
{
|
|
73
|
+
[self withShapeSource:viewRef block:^(RNMBXShapeSource *view) {
|
|
74
|
+
[RNMBXShapeSourceViewManager getClusterExpansionZoomWithShapeSource:view featureJSON:featureJSON resolver:resolve rejecter:reject];
|
|
75
|
+
} reject:reject methodName:@"getClusterExpansionZoom"];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Thanks to this guard, we won't compile this code when we build for the old architecture.
|
|
79
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
80
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
81
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
82
|
+
{
|
|
83
|
+
return std::make_shared<facebook::react::NativeRNMBXShapeSourceModuleSpecJSI>(params);
|
|
84
|
+
}
|
|
85
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
86
|
+
|
|
87
|
+
@end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#import <React/RCTBridgeModule.h>
|
|
2
|
+
#import <React/RCTViewManager.h>
|
|
3
|
+
|
|
4
|
+
@interface
|
|
5
|
+
RCT_EXTERN_REMAP_MODULE(RNMBXShapeSource, RNMBXShapeSourceViewManager, RCTViewManager)
|
|
6
|
+
|
|
7
|
+
RCT_EXPORT_VIEW_PROPERTY(id, NSString)
|
|
8
|
+
RCT_EXPORT_VIEW_PROPERTY(existing, BOOL)
|
|
9
|
+
RCT_EXPORT_VIEW_PROPERTY(url, NSString)
|
|
10
|
+
RCT_EXPORT_VIEW_PROPERTY(shape, NSString)
|
|
11
|
+
|
|
12
|
+
RCT_EXPORT_VIEW_PROPERTY(cluster, NSNumber)
|
|
13
|
+
RCT_EXPORT_VIEW_PROPERTY(clusterRadius, NSNumber)
|
|
14
|
+
RCT_EXPORT_VIEW_PROPERTY(clusterMaxZoomLevel, NSNumber)
|
|
15
|
+
RCT_EXPORT_VIEW_PROPERTY(clusterProperties, NSDictionary)
|
|
16
|
+
RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, NSNumber)
|
|
17
|
+
RCT_EXPORT_VIEW_PROPERTY(buffer, NSNumber)
|
|
18
|
+
RCT_EXPORT_VIEW_PROPERTY(tolerance, NSNumber)
|
|
19
|
+
RCT_EXPORT_VIEW_PROPERTY(lineMetrics, NSNumber)
|
|
20
|
+
RCT_EXPORT_VIEW_PROPERTY(images, NSDictionary)
|
|
21
|
+
RCT_EXPORT_VIEW_PROPERTY(nativeImages, NSArray)
|
|
22
|
+
RCT_EXPORT_VIEW_PROPERTY(hasPressListener, BOOL)
|
|
23
|
+
RCT_EXPORT_VIEW_PROPERTY(hitbox, NSDictionary)
|
|
24
|
+
RCT_REMAP_VIEW_PROPERTY(onMapboxShapeSourcePress, onPress, RCTBubblingEventBlock)
|
|
25
|
+
|
|
26
|
+
@end
|
|
@@ -1,48 +1,23 @@
|
|
|
1
|
-
@objc(
|
|
2
|
-
class
|
|
1
|
+
@objc(RNMBXShapeSourceViewManager)
|
|
2
|
+
public class RNMBXShapeSourceViewManager: RCTViewManager {
|
|
3
3
|
@objc
|
|
4
|
-
override static func requiresMainQueueSetup() -> Bool {
|
|
4
|
+
override public static func requiresMainQueueSetup() -> Bool {
|
|
5
5
|
return true
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
@objc override func view() -> UIView {
|
|
8
|
+
@objc override public func view() -> UIView {
|
|
9
9
|
return RNMBXShapeSource()
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
// MARK: - helpers
|
|
14
|
-
|
|
15
|
-
extension RNMBXShapeSourceManager {
|
|
16
|
-
func withShapeSource(
|
|
17
|
-
_ reactTag: NSNumber,
|
|
18
|
-
name: String,
|
|
19
|
-
rejecter: @escaping RCTPromiseRejectBlock,
|
|
20
|
-
fn: @escaping (_: RNMBXShapeSource) -> Void) -> Void
|
|
21
|
-
{
|
|
22
|
-
self.bridge.uiManager.addUIBlock { (manager, viewRegistry) in
|
|
23
|
-
let view = viewRegistry![reactTag]
|
|
24
|
-
|
|
25
|
-
guard let shapeSource = view! as? RNMBXShapeSource else {
|
|
26
|
-
RNMBXLogError("Invalid react tag, could not find RNMBXShapeSource");
|
|
27
|
-
rejecter(name, "Unknown find reactTag: \(reactTag)", nil)
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
fn(shapeSource)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
12
|
// MARK: - react methods
|
|
37
13
|
|
|
38
|
-
extension
|
|
39
|
-
@objc func getClusterExpansionZoom(
|
|
40
|
-
|
|
14
|
+
extension RNMBXShapeSourceViewManager {
|
|
15
|
+
@objc public static func getClusterExpansionZoom(
|
|
16
|
+
shapeSource: RNMBXShapeSource,
|
|
41
17
|
featureJSON: String,
|
|
42
18
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
43
19
|
rejecter: @escaping RCTPromiseRejectBlock) -> Void
|
|
44
20
|
{
|
|
45
|
-
self.withShapeSource(reactTag, name:"getCluster ExpansionZoom", rejecter: rejecter) { shapeSource in
|
|
46
21
|
shapeSource.getClusterExpansionZoom(featureJSON) { result in
|
|
47
22
|
switch result {
|
|
48
23
|
case .success(let zoom):
|
|
@@ -53,19 +28,17 @@ extension RNMBXShapeSourceManager {
|
|
|
53
28
|
rejecter(error.localizedDescription, "Error.getClusterExpansionZoom", error)
|
|
54
29
|
}
|
|
55
30
|
}
|
|
56
|
-
}
|
|
57
31
|
}
|
|
58
32
|
|
|
59
|
-
@objc func getClusterLeaves(
|
|
60
|
-
|
|
33
|
+
@objc public static func getClusterLeaves(
|
|
34
|
+
shapeSource: RNMBXShapeSource,
|
|
61
35
|
featureJSON: String,
|
|
62
36
|
number: uint,
|
|
63
37
|
offset: uint,
|
|
64
38
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
65
39
|
rejecter: @escaping RCTPromiseRejectBlock) -> Void
|
|
66
40
|
{
|
|
67
|
-
|
|
68
|
-
shapeSource.getClusterLeaves(featureJSON, number: number, offset: offset) { result in
|
|
41
|
+
shapeSource.getClusterLeaves(featureJSON, number: number, offset: offset) { result in
|
|
69
42
|
switch result {
|
|
70
43
|
case .success(let features):
|
|
71
44
|
logged("getClusterLeaves", rejecter: rejecter) {
|
|
@@ -77,16 +50,14 @@ extension RNMBXShapeSourceManager {
|
|
|
77
50
|
case .failure(let error):
|
|
78
51
|
rejecter(error.localizedDescription, "Error.getClusterLeaves", error)
|
|
79
52
|
}
|
|
80
|
-
}
|
|
81
53
|
}
|
|
82
54
|
}
|
|
83
55
|
|
|
84
|
-
@objc func getClusterChildren(
|
|
85
|
-
|
|
56
|
+
@objc public static func getClusterChildren(
|
|
57
|
+
shapeSource: RNMBXShapeSource,
|
|
86
58
|
featureJSON: String,
|
|
87
59
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
88
60
|
rejecter: @escaping RCTPromiseRejectBlock) -> Void {
|
|
89
|
-
self.withShapeSource(reactTag, name:"getClusterChildren", rejecter: rejecter) { shapeSource in
|
|
90
61
|
shapeSource.getClusterChildren(featureJSON) { result in
|
|
91
62
|
switch result {
|
|
92
63
|
case .success(let features):
|
|
@@ -101,6 +72,5 @@ extension RNMBXShapeSourceManager {
|
|
|
101
72
|
}
|
|
102
73
|
}
|
|
103
74
|
}
|
|
104
|
-
}
|
|
105
75
|
}
|
|
106
76
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#import <React/RCTConversions.h>
|
|
7
7
|
#import <React/RCTFabricComponentsPlugins.h>
|
|
8
|
+
#import <React/RCTBridge+Private.h>
|
|
8
9
|
|
|
9
10
|
#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
|
|
10
11
|
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
|
|
@@ -34,6 +35,7 @@ using namespace facebook::react;
|
|
|
34
35
|
- (void)prepareView
|
|
35
36
|
{
|
|
36
37
|
_view = [[RNMBXSkyLayer alloc] init];
|
|
38
|
+
_view.bridge = [RCTBridge currentBridge];
|
|
37
39
|
self.contentView = _view;
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@_spi(Experimental) import MapboxMaps
|
|
2
2
|
|
|
3
3
|
@objc
|
|
4
|
-
class RNMBXSource : RNMBXInteractiveElement {
|
|
4
|
+
public class RNMBXSource : RNMBXInteractiveElement {
|
|
5
5
|
var layers: [RNMBXSourceConsumer] = []
|
|
6
6
|
var components: [RNMBXMapComponent] = []
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ class RNMBXSource : RNMBXInteractiveElement {
|
|
|
9
9
|
|
|
10
10
|
var ownsSource : Bool = false
|
|
11
11
|
|
|
12
|
-
@objc var existing: Bool = false
|
|
12
|
+
@objc public var existing: Bool = false
|
|
13
13
|
|
|
14
14
|
override func getLayerIDs() -> [String] {
|
|
15
15
|
layers.compactMap {
|
|
@@ -31,37 +31,46 @@ class RNMBXSource : RNMBXInteractiveElement {
|
|
|
31
31
|
|
|
32
32
|
// MARK: - UIView+React
|
|
33
33
|
|
|
34
|
-
@objc override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
|
|
35
|
-
|
|
36
|
-
if let map = map {
|
|
37
|
-
layer.addToMap(map, style: map.mapboxMap.style)
|
|
38
|
-
}
|
|
39
|
-
layers.append(layer)
|
|
40
|
-
} else if let component = subview as? RNMBXMapComponent {
|
|
41
|
-
if let map = map {
|
|
42
|
-
component.addToMap(map, style: map.mapboxMap.style)
|
|
43
|
-
}
|
|
44
|
-
components.append(component)
|
|
45
|
-
}
|
|
34
|
+
@objc public override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
|
|
35
|
+
insertReactSubviewInternal(subview, at: atIndex)
|
|
46
36
|
super.insertReactSubview(subview, at: atIndex)
|
|
47
37
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
38
|
+
|
|
39
|
+
@objc public func insertReactSubviewInternal(_ subview: UIView!, at atIndex: Int) {
|
|
40
|
+
if let layer = subview as? RNMBXSourceConsumer {
|
|
41
|
+
if let map = map {
|
|
42
|
+
layer.addToMap(map, style: map.mapboxMap.style)
|
|
43
|
+
}
|
|
44
|
+
layers.append(layer)
|
|
45
|
+
} else if let component = subview as? RNMBXMapComponent {
|
|
46
|
+
if let map = map {
|
|
47
|
+
component.addToMap(map, style: map.mapboxMap.style)
|
|
48
|
+
}
|
|
49
|
+
components.append(component)
|
|
50
|
+
}
|
|
60
51
|
}
|
|
52
|
+
|
|
53
|
+
@objc public override func removeReactSubview(_ subview: UIView!) {
|
|
54
|
+
removeReactSubviewInternal(subview)
|
|
61
55
|
super.removeReactSubview(subview)
|
|
62
56
|
}
|
|
57
|
+
|
|
58
|
+
@objc public func removeReactSubviewInternal(_ subview: UIView!) {
|
|
59
|
+
if let layer : RNMBXSourceConsumer = subview as? RNMBXSourceConsumer {
|
|
60
|
+
if let map = map {
|
|
61
|
+
layer.removeFromMap(map, style: map.mapboxMap.style)
|
|
62
|
+
}
|
|
63
|
+
layers.removeAll { $0 as AnyObject === layer }
|
|
64
|
+
} else if let component = subview as? RNMBXMapComponent {
|
|
65
|
+
if let map = map {
|
|
66
|
+
component.removeFromMap(map, reason: .ViewRemoval)
|
|
67
|
+
}
|
|
68
|
+
layers.removeAll { $0 as AnyObject === component }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
63
72
|
|
|
64
|
-
@objc override func didUpdateReactSubviews() {
|
|
73
|
+
@objc public override func didUpdateReactSubviews() {
|
|
65
74
|
// do nothing to prevent inserting layers to UIView hierarchy
|
|
66
75
|
}
|
|
67
76
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#import <React/RCTConversions.h>
|
|
7
7
|
#import <React/RCTFabricComponentsPlugins.h>
|
|
8
|
+
#import <React/RCTBridge+Private.h>
|
|
8
9
|
|
|
9
10
|
#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
|
|
10
11
|
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
|
|
@@ -34,6 +35,7 @@ using namespace facebook::react;
|
|
|
34
35
|
- (void)prepareView
|
|
35
36
|
{
|
|
36
37
|
_view = [[RNMBXSymbolLayer alloc] init];
|
|
38
|
+
_view.bridge = [RCTBridge currentBridge];
|
|
37
39
|
self.contentView = _view;
|
|
38
40
|
}
|
|
39
41
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import MapboxMaps
|
|
2
2
|
|
|
3
3
|
@objc
|
|
4
|
-
class RNMBXVectorSource : RNMBXTileSource {
|
|
4
|
+
public class RNMBXVectorSource : RNMBXTileSource {
|
|
5
5
|
|
|
6
|
-
@objc var attribution: String?
|
|
7
|
-
@objc var maxZoomLevel: NSNumber?
|
|
8
|
-
@objc var minZoomLevel: NSNumber?
|
|
9
|
-
@objc var tileUrlTemplates: [String] = []
|
|
10
|
-
@objc var tms: Bool = false
|
|
6
|
+
@objc public var attribution: String?
|
|
7
|
+
@objc public var maxZoomLevel: NSNumber?
|
|
8
|
+
@objc public var minZoomLevel: NSNumber?
|
|
9
|
+
@objc public var tileUrlTemplates: [String] = []
|
|
10
|
+
@objc public var tms: Bool = false
|
|
11
11
|
|
|
12
12
|
override func sourceType() -> Source.Type {
|
|
13
13
|
return VectorSource.self
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import <UIKit/UIKit.h>
|
|
4
|
+
|
|
5
|
+
#import <React/RCTUIManager.h>
|
|
6
|
+
#import <React/RCTViewComponentView.h>
|
|
7
|
+
|
|
8
|
+
#import "RNMBXMapFeatureView.h"
|
|
9
|
+
|
|
10
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
11
|
+
|
|
12
|
+
@interface RNMBXVectorSourceComponentView : RCTViewComponentView <RNMBXMapFeatureView>
|
|
13
|
+
@end
|
|
14
|
+
|
|
15
|
+
NS_ASSUME_NONNULL_END
|
|
16
|
+
|
|
17
|
+
#endif // RCT_NEW_ARCH_ENABLED
|