react-native-map4d-map-dtqg 0.1.1 → 0.1.3
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/LICENSE +21 -21
- package/README.md +133 -88
- package/android/build.gradle +60 -60
- package/android/src/main/AndroidManifest.xml +4 -4
- package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -298
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
- package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
- package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
- package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
- package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
- package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
- package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
- package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
- package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
- package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -226
- package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
- package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
- package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
- package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
- package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
- package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
- package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
- package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
- package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
- package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
- package/ios/Map4dMap.h +7 -7
- package/ios/Map4dMap.m +14 -14
- package/ios/Map4dMap.xcodeproj/project.pbxproj +2 -2
- package/ios/Map4dMapViewManager.m +34 -34
- package/ios/RCTConvert+Map4dMap.h +33 -33
- package/ios/RCTConvert+Map4dMap.m +112 -112
- package/ios/RMFCircle.h +37 -37
- package/ios/RMFCircle.m +100 -100
- package/ios/RMFCircleManager.h +18 -18
- package/ios/RMFCircleManager.m +155 -155
- package/ios/RMFCircleMap4d.h +23 -23
- package/ios/RMFCircleMap4d.m +13 -13
- package/ios/RMFCoordinate.h +22 -22
- package/ios/RMFCoordinate.m +13 -13
- package/ios/RMFDirectionsMarkerOptions.h +24 -24
- package/ios/RMFDirectionsMarkerOptions.m +23 -23
- package/ios/RMFDirectionsRenderer.h +47 -47
- package/ios/RMFDirectionsRenderer.m +182 -182
- package/ios/RMFDirectionsRendererManager.h +17 -17
- package/ios/RMFDirectionsRendererManager.m +84 -84
- package/ios/RMFDirectionsRendererMap4d.h +21 -21
- package/ios/RMFDirectionsRendererMap4d.m +12 -12
- package/ios/RMFDummyView.h +6 -6
- package/ios/RMFDummyView.m +12 -12
- package/ios/RMFEventResponse.h +39 -39
- package/ios/RMFEventResponse.m +98 -98
- package/ios/RMFIcon.h +24 -24
- package/ios/RMFIcon.m +35 -35
- package/ios/RMFMapView.h +84 -84
- package/ios/RMFMapView.m +376 -376
- package/ios/RMFMapViewManager.h +17 -17
- package/ios/RMFMapViewManager.m +509 -493
- package/ios/RMFMarker.h +57 -57
- package/ios/RMFMarker.m +267 -267
- package/ios/RMFMarkerManager.h +17 -17
- package/ios/RMFMarkerManager.m +156 -156
- package/ios/RMFMarkerMap4d.h +19 -19
- package/ios/RMFMarkerMap4d.m +13 -13
- package/ios/RMFPOI.h +38 -38
- package/ios/RMFPOI.m +123 -123
- package/ios/RMFPOIManager.h +18 -18
- package/ios/RMFPOIManager.m +168 -168
- package/ios/RMFPOIMap4d.h +22 -22
- package/ios/RMFPOIMap4d.m +12 -12
- package/ios/RMFPolygon.h +41 -41
- package/ios/RMFPolygon.m +106 -106
- package/ios/RMFPolygonManager.h +18 -18
- package/ios/RMFPolygonManager.m +141 -141
- package/ios/RMFPolygonMap4d.h +23 -23
- package/ios/RMFPolygonMap4d.m +15 -15
- package/ios/RMFPolyline.h +38 -38
- package/ios/RMFPolyline.m +101 -101
- package/ios/RMFPolylineManager.h +18 -18
- package/ios/RMFPolylineManager.m +139 -139
- package/ios/RMFPolylineMap4d.h +22 -22
- package/ios/RMFPolylineMap4d.m +15 -15
- package/ios/building/RMFBuilding.h +41 -41
- package/ios/building/RMFBuilding.m +104 -104
- package/ios/building/RMFBuildingManager.h +19 -19
- package/ios/building/RMFBuildingManager.m +133 -133
- package/ios/building/RMFBuildingMap4d.h +23 -23
- package/ios/building/RMFBuildingMap4d.m +15 -15
- package/ios/overlays/RMFTileOverlay.h +36 -36
- package/ios/overlays/RMFTileOverlay.m +64 -64
- package/ios/overlays/RMFTileOverlayManager.h +17 -17
- package/ios/overlays/RMFTileOverlayManager.m +27 -27
- package/lib/commonjs/components/MFBanDoSo.js +109 -0
- package/lib/commonjs/components/MFBanDoSo.js.map +1 -0
- package/lib/commonjs/components/MFBuilding.js +26 -26
- package/lib/commonjs/components/MFBuilding.js.map +1 -1
- package/lib/commonjs/components/MFCircle.js +20 -20
- package/lib/commonjs/components/MFCircle.js.map +1 -1
- package/lib/commonjs/components/MFDirectionsRenderer.js +32 -32
- package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/commonjs/components/MFMapView.js +89 -70
- package/lib/commonjs/components/MFMapView.js.map +1 -1
- package/lib/commonjs/components/MFMarker.js +35 -35
- package/lib/commonjs/components/MFMarker.js.map +1 -1
- package/lib/commonjs/components/MFPOI.js +20 -20
- package/lib/commonjs/components/MFPOI.js.map +1 -1
- package/lib/commonjs/components/MFPolygon.js +22 -22
- package/lib/commonjs/components/MFPolygon.js.map +1 -1
- package/lib/commonjs/components/MFPolyline.js +18 -18
- package/lib/commonjs/components/MFPolyline.js.map +1 -1
- package/lib/commonjs/components/MFTileOverlay.js +9 -9
- package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
- package/lib/commonjs/components/Map4dMapView.js.map +1 -1
- package/lib/commonjs/components/extends/AreaFocusManager.js +205 -0
- package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -0
- package/lib/commonjs/components/extends/AreaFocuser.js +21 -259
- package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
- package/lib/commonjs/components/extends/BoundHelper.js +36 -0
- package/lib/commonjs/components/extends/BoundHelper.js.map +1 -0
- package/lib/commonjs/components/extends/area/AreaFocusAreas.js +167 -0
- package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -0
- package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +164 -0
- package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
- package/lib/commonjs/components/extends/area/AreaFocusSession.js +100 -0
- package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -0
- package/lib/commonjs/components/extends/area/AreaFocusTypes.js +40 -0
- package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -0
- package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +2288 -0
- package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -0
- package/lib/commonjs/components/internal/GeojsonStyleUtils.js +139 -0
- package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -0
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/MFBanDoSo.js +92 -0
- package/lib/module/components/MFBanDoSo.js.map +1 -0
- package/lib/module/components/MFBuilding.js +26 -26
- package/lib/module/components/MFBuilding.js.map +1 -1
- package/lib/module/components/MFCircle.js +20 -20
- package/lib/module/components/MFCircle.js.map +1 -1
- package/lib/module/components/MFDirectionsRenderer.js +32 -32
- package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/module/components/MFMapView.js +88 -70
- package/lib/module/components/MFMapView.js.map +1 -1
- package/lib/module/components/MFMarker.js +35 -35
- package/lib/module/components/MFMarker.js.map +1 -1
- package/lib/module/components/MFPOI.js +20 -20
- package/lib/module/components/MFPOI.js.map +1 -1
- package/lib/module/components/MFPolygon.js +22 -22
- package/lib/module/components/MFPolygon.js.map +1 -1
- package/lib/module/components/MFPolyline.js +18 -18
- package/lib/module/components/MFPolyline.js.map +1 -1
- package/lib/module/components/MFTileOverlay.js +9 -9
- package/lib/module/components/MFTileOverlay.js.map +1 -1
- package/lib/module/components/Map4dMapView.js.map +1 -1
- package/lib/module/components/extends/AreaFocusManager.js +193 -0
- package/lib/module/components/extends/AreaFocusManager.js.map +1 -0
- package/lib/module/components/extends/AreaFocuser.js +21 -259
- package/lib/module/components/extends/AreaFocuser.js.map +1 -1
- package/lib/module/components/extends/BoundHelper.js +29 -0
- package/lib/module/components/extends/BoundHelper.js.map +1 -0
- package/lib/module/components/extends/area/AreaFocusAreas.js +156 -0
- package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -0
- package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +153 -0
- package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
- package/lib/module/components/extends/area/AreaFocusSession.js +93 -0
- package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -0
- package/lib/module/components/extends/area/AreaFocusTypes.js +33 -0
- package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -0
- package/lib/module/components/internal/DefaultRoadmapStyle.js +2281 -0
- package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -0
- package/lib/module/components/internal/GeojsonStyleUtils.js +130 -0
- package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/Map4dMapView.d.ts +7 -7
- package/package.json +152 -152
- package/react-native-map4d-map.podspec +20 -20
- package/src/components/MFBanDoSo.js +124 -0
- package/src/components/MFBuilding.js +187 -187
- package/src/components/MFCircle.js +173 -173
- package/src/components/MFDirectionsRenderer.js +237 -237
- package/src/components/MFMapView.js +464 -447
- package/src/components/MFMarker.js +246 -246
- package/src/components/MFPOI.js +184 -184
- package/src/components/MFPolygon.js +186 -186
- package/src/components/MFPolyline.js +172 -172
- package/src/components/MFTileOverlay.js +45 -45
- package/src/components/Map4dMapView.tsx +26 -26
- package/src/components/extends/AreaFocusManager.js +196 -0
- package/src/components/extends/AreaFocuser.js +61 -338
- package/src/components/extends/BoundHelper.js +32 -0
- package/src/components/extends/area/AreaFocusAreas.js +164 -0
- package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -0
- package/src/components/extends/area/AreaFocusSession.js +100 -0
- package/src/components/extends/area/AreaFocusTypes.js +36 -0
- package/src/components/internal/DefaultRoadmapStyle.js +3365 -0
- package/src/components/internal/GeojsonStyleUtils.js +143 -0
- package/src/index.js +25 -23
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/checksums.lock +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/9.0-milestone-1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/9.0-milestone-1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.0-milestone-1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.0-milestone-1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/config.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/AndroidProjectSystem.xml +0 -6
- package/android/.idea/caches/deviceStreaming.xml +0 -1570
- package/android/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/android/.idea/gradle.xml +0 -12
- package/android/.idea/migrations.xml +0 -10
- package/android/.idea/misc.xml +0 -10
- package/android/.idea/runConfigurations.xml +0 -17
- package/android/.idea/vcs.xml +0 -6
- package/android/local.properties +0 -8
package/ios/RMFPolylineMap4d.h
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolylineMap4d.h
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/3/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFPolylineMap4d_h
|
|
10
|
-
#define RMFPolylineMap4d_h
|
|
11
|
-
|
|
12
|
-
#import <Map4dMap/Map4dMap.h>
|
|
13
|
-
|
|
14
|
-
@class RMFPolyline;
|
|
15
|
-
|
|
16
|
-
@interface RMFPolylineMap4d : MFPolyline
|
|
17
|
-
|
|
18
|
-
@property (nonatomic, weak) RMFPolyline *reactPolyline;
|
|
19
|
-
|
|
20
|
-
@end
|
|
21
|
-
|
|
22
|
-
#endif /* RMFPolylineMap4d_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFPolylineMap4d.h
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/3/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFPolylineMap4d_h
|
|
10
|
+
#define RMFPolylineMap4d_h
|
|
11
|
+
|
|
12
|
+
#import <Map4dMap/Map4dMap.h>
|
|
13
|
+
|
|
14
|
+
@class RMFPolyline;
|
|
15
|
+
|
|
16
|
+
@interface RMFPolylineMap4d : MFPolyline
|
|
17
|
+
|
|
18
|
+
@property (nonatomic, weak) RMFPolyline *reactPolyline;
|
|
19
|
+
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
#endif /* RMFPolylineMap4d_h */
|
package/ios/RMFPolylineMap4d.m
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolylineMap4d.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/4/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPolylineMap4d.h"
|
|
10
|
-
|
|
11
|
-
@implementation RMFPolylineMap4d
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPolylineMap4d.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/4/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPolylineMap4d.h"
|
|
10
|
+
|
|
11
|
+
@implementation RMFPolylineMap4d
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@end
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFBuilding.h
|
|
3
|
-
// react-native-map4d-map
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 6/10/25.
|
|
6
|
-
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFBuilding_h
|
|
10
|
-
#define RMFBuilding_h
|
|
11
|
-
|
|
12
|
-
#import <React/UIView+React.h>
|
|
13
|
-
#import "RMFBuildingMap4d.h"
|
|
14
|
-
#import "RMFMapView.h"
|
|
15
|
-
|
|
16
|
-
@interface RMFBuilding : UIView
|
|
17
|
-
|
|
18
|
-
@property(nonatomic, strong, nonnull) RMFBuildingMap4d * map4dBuilding;
|
|
19
|
-
|
|
20
|
-
@property(nonatomic, copy) RCTBubblingEventBlock _Nullable onPress;
|
|
21
|
-
|
|
22
|
-
@property (nonatomic, copy, nullable) NSString *name;
|
|
23
|
-
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;//position
|
|
24
|
-
@property (nonatomic, copy, nullable) NSString *modelUrl;
|
|
25
|
-
@property (nonatomic, copy, nullable) NSString *textureUrl;
|
|
26
|
-
@property (nonatomic, assign) double scale;
|
|
27
|
-
@property (nonatomic, assign) CGFloat bearing;
|
|
28
|
-
@property (nonatomic, assign) double elevation;
|
|
29
|
-
@property (nonatomic, assign) BOOL selected;
|
|
30
|
-
@property (nonatomic, assign) BOOL touchable;
|
|
31
|
-
@property (nonatomic, assign) BOOL visible;
|
|
32
|
-
@property (nonatomic, copy, nullable) NSDictionary * userData;
|
|
33
|
-
|
|
34
|
-
- (void)setMapView:(RMFMapView* _Nullable)mapView;
|
|
35
|
-
|
|
36
|
-
- (void)didTapAtPixel:(CGPoint)pixel;
|
|
37
|
-
|
|
38
|
-
@end
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
#endif /* RMFBuilding_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFBuilding.h
|
|
3
|
+
// react-native-map4d-map
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 6/10/25.
|
|
6
|
+
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFBuilding_h
|
|
10
|
+
#define RMFBuilding_h
|
|
11
|
+
|
|
12
|
+
#import <React/UIView+React.h>
|
|
13
|
+
#import "RMFBuildingMap4d.h"
|
|
14
|
+
#import "RMFMapView.h"
|
|
15
|
+
|
|
16
|
+
@interface RMFBuilding : UIView
|
|
17
|
+
|
|
18
|
+
@property(nonatomic, strong, nonnull) RMFBuildingMap4d * map4dBuilding;
|
|
19
|
+
|
|
20
|
+
@property(nonatomic, copy) RCTBubblingEventBlock _Nullable onPress;
|
|
21
|
+
|
|
22
|
+
@property (nonatomic, copy, nullable) NSString *name;
|
|
23
|
+
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;//position
|
|
24
|
+
@property (nonatomic, copy, nullable) NSString *modelUrl;
|
|
25
|
+
@property (nonatomic, copy, nullable) NSString *textureUrl;
|
|
26
|
+
@property (nonatomic, assign) double scale;
|
|
27
|
+
@property (nonatomic, assign) CGFloat bearing;
|
|
28
|
+
@property (nonatomic, assign) double elevation;
|
|
29
|
+
@property (nonatomic, assign) BOOL selected;
|
|
30
|
+
@property (nonatomic, assign) BOOL touchable;
|
|
31
|
+
@property (nonatomic, assign) BOOL visible;
|
|
32
|
+
@property (nonatomic, copy, nullable) NSDictionary * userData;
|
|
33
|
+
|
|
34
|
+
- (void)setMapView:(RMFMapView* _Nullable)mapView;
|
|
35
|
+
|
|
36
|
+
- (void)didTapAtPixel:(CGPoint)pixel;
|
|
37
|
+
|
|
38
|
+
@end
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
#endif /* RMFBuilding_h */
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFBuilding.m
|
|
3
|
-
// react-native-map4d-map
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 6/10/25.
|
|
6
|
-
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFBuilding.h"
|
|
10
|
-
#import "RMFEventResponse.h"
|
|
11
|
-
|
|
12
|
-
@implementation RMFBuilding
|
|
13
|
-
|
|
14
|
-
- (instancetype)init {
|
|
15
|
-
self = [super init];
|
|
16
|
-
if (self) {
|
|
17
|
-
_map4dBuilding = [[RMFBuildingMap4d alloc] init];
|
|
18
|
-
_map4dBuilding.reactBuilding = self;
|
|
19
|
-
|
|
20
|
-
_name = _map4dBuilding.name;
|
|
21
|
-
_coordinate = _map4dBuilding.position;
|
|
22
|
-
_modelUrl = _map4dBuilding.model;
|
|
23
|
-
_textureUrl = _map4dBuilding.texture;
|
|
24
|
-
_scale = _map4dBuilding.scale;
|
|
25
|
-
_bearing = _map4dBuilding.bearing;
|
|
26
|
-
_elevation = _map4dBuilding.elevation;
|
|
27
|
-
_selected = _map4dBuilding.selected;
|
|
28
|
-
_touchable = _map4dBuilding.userInteractionEnabled;
|
|
29
|
-
_visible = !_map4dBuilding.isHidden;
|
|
30
|
-
_userData = nil;
|
|
31
|
-
}
|
|
32
|
-
return self;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
- (void)setMapView:(RMFMapView *)mapView {
|
|
36
|
-
_map4dBuilding.map = mapView;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
40
|
-
if (self.onPress) {
|
|
41
|
-
CLLocationCoordinate2D tapLocation = [_map4dBuilding.map.projection coordinateForPoint:pixel];
|
|
42
|
-
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
43
|
-
pixel:pixel]];
|
|
44
|
-
response[@"building"] = @{
|
|
45
|
-
kRMFLatLngCoordinateResponseKey: [RMFEventResponse fromCoordinate:_map4dBuilding.position],
|
|
46
|
-
@"userData": _userData != nil ? _userData : @{}
|
|
47
|
-
};
|
|
48
|
-
response[@"action"] = @"building-press";
|
|
49
|
-
|
|
50
|
-
self.onPress(response);
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
- (void)setName:(NSString *)name {
|
|
55
|
-
_name = name;
|
|
56
|
-
_map4dBuilding.name = name;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
- (void)setCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
60
|
-
_coordinate = coordinate;
|
|
61
|
-
_map4dBuilding.position = coordinate;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
- (void)setModelUrl:(NSString *)modelUrl {
|
|
65
|
-
_modelUrl = modelUrl;
|
|
66
|
-
_map4dBuilding.model = modelUrl;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
- (void)setTextureUrl:(NSString *)textureUrl {
|
|
70
|
-
_textureUrl = textureUrl;
|
|
71
|
-
_map4dBuilding.texture = textureUrl;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
- (void)setScale:(double)scale {
|
|
75
|
-
_scale = scale;
|
|
76
|
-
_map4dBuilding.scale = scale;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
- (void)setBearing:(CGFloat)bearing {
|
|
80
|
-
_bearing = bearing;
|
|
81
|
-
_map4dBuilding.bearing = bearing;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
- (void)setElevation:(double)elevation {
|
|
85
|
-
_elevation = elevation;
|
|
86
|
-
_map4dBuilding.elevation = elevation;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
- (void)setSelected:(BOOL)selected {
|
|
90
|
-
_selected = selected;
|
|
91
|
-
_map4dBuilding.selected = selected;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
- (void)setTouchable:(BOOL)touchable {
|
|
95
|
-
_touchable = touchable;
|
|
96
|
-
_map4dBuilding.userInteractionEnabled = touchable;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
- (void)setVisible:(BOOL)visible {
|
|
100
|
-
_visible = visible;
|
|
101
|
-
_map4dBuilding.isHidden = !visible;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFBuilding.m
|
|
3
|
+
// react-native-map4d-map
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 6/10/25.
|
|
6
|
+
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFBuilding.h"
|
|
10
|
+
#import "RMFEventResponse.h"
|
|
11
|
+
|
|
12
|
+
@implementation RMFBuilding
|
|
13
|
+
|
|
14
|
+
- (instancetype)init {
|
|
15
|
+
self = [super init];
|
|
16
|
+
if (self) {
|
|
17
|
+
_map4dBuilding = [[RMFBuildingMap4d alloc] init];
|
|
18
|
+
_map4dBuilding.reactBuilding = self;
|
|
19
|
+
|
|
20
|
+
_name = _map4dBuilding.name;
|
|
21
|
+
_coordinate = _map4dBuilding.position;
|
|
22
|
+
_modelUrl = _map4dBuilding.model;
|
|
23
|
+
_textureUrl = _map4dBuilding.texture;
|
|
24
|
+
_scale = _map4dBuilding.scale;
|
|
25
|
+
_bearing = _map4dBuilding.bearing;
|
|
26
|
+
_elevation = _map4dBuilding.elevation;
|
|
27
|
+
_selected = _map4dBuilding.selected;
|
|
28
|
+
_touchable = _map4dBuilding.userInteractionEnabled;
|
|
29
|
+
_visible = !_map4dBuilding.isHidden;
|
|
30
|
+
_userData = nil;
|
|
31
|
+
}
|
|
32
|
+
return self;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
- (void)setMapView:(RMFMapView *)mapView {
|
|
36
|
+
_map4dBuilding.map = mapView;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
40
|
+
if (self.onPress) {
|
|
41
|
+
CLLocationCoordinate2D tapLocation = [_map4dBuilding.map.projection coordinateForPoint:pixel];
|
|
42
|
+
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
43
|
+
pixel:pixel]];
|
|
44
|
+
response[@"building"] = @{
|
|
45
|
+
kRMFLatLngCoordinateResponseKey: [RMFEventResponse fromCoordinate:_map4dBuilding.position],
|
|
46
|
+
@"userData": _userData != nil ? _userData : @{}
|
|
47
|
+
};
|
|
48
|
+
response[@"action"] = @"building-press";
|
|
49
|
+
|
|
50
|
+
self.onPress(response);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
- (void)setName:(NSString *)name {
|
|
55
|
+
_name = name;
|
|
56
|
+
_map4dBuilding.name = name;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
- (void)setCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
60
|
+
_coordinate = coordinate;
|
|
61
|
+
_map4dBuilding.position = coordinate;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
- (void)setModelUrl:(NSString *)modelUrl {
|
|
65
|
+
_modelUrl = modelUrl;
|
|
66
|
+
_map4dBuilding.model = modelUrl;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
- (void)setTextureUrl:(NSString *)textureUrl {
|
|
70
|
+
_textureUrl = textureUrl;
|
|
71
|
+
_map4dBuilding.texture = textureUrl;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
- (void)setScale:(double)scale {
|
|
75
|
+
_scale = scale;
|
|
76
|
+
_map4dBuilding.scale = scale;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
- (void)setBearing:(CGFloat)bearing {
|
|
80
|
+
_bearing = bearing;
|
|
81
|
+
_map4dBuilding.bearing = bearing;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
- (void)setElevation:(double)elevation {
|
|
85
|
+
_elevation = elevation;
|
|
86
|
+
_map4dBuilding.elevation = elevation;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
- (void)setSelected:(BOOL)selected {
|
|
90
|
+
_selected = selected;
|
|
91
|
+
_map4dBuilding.selected = selected;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
- (void)setTouchable:(BOOL)touchable {
|
|
95
|
+
_touchable = touchable;
|
|
96
|
+
_map4dBuilding.userInteractionEnabled = touchable;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
- (void)setVisible:(BOOL)visible {
|
|
100
|
+
_visible = visible;
|
|
101
|
+
_map4dBuilding.isHidden = !visible;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@end
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFBuildingManager.h
|
|
3
|
-
// react-native-map4d-map
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 6/10/25.
|
|
6
|
-
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFBuildingManager_h
|
|
10
|
-
#define RMFBuildingManager_h
|
|
11
|
-
|
|
12
|
-
#import <React/RCTViewManager.h>
|
|
13
|
-
|
|
14
|
-
@interface RMFBuildingManager : RCTViewManager
|
|
15
|
-
|
|
16
|
-
@end
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
#endif /* RMFBuildingManager_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFBuildingManager.h
|
|
3
|
+
// react-native-map4d-map
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 6/10/25.
|
|
6
|
+
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFBuildingManager_h
|
|
10
|
+
#define RMFBuildingManager_h
|
|
11
|
+
|
|
12
|
+
#import <React/RCTViewManager.h>
|
|
13
|
+
|
|
14
|
+
@interface RMFBuildingManager : RCTViewManager
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#endif /* RMFBuildingManager_h */
|
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFBuildingManager.m
|
|
3
|
-
// react-native-map4d-map
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 6/10/25.
|
|
6
|
-
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFBuildingManager.h"
|
|
10
|
-
#import "RMFBuilding.h"
|
|
11
|
-
#import <React/RCTConvert+CoreLocation.h>
|
|
12
|
-
#import <React/RCTBridge.h>
|
|
13
|
-
#import <React/RCTUIManager.h>
|
|
14
|
-
|
|
15
|
-
@implementation RMFBuildingManager
|
|
16
|
-
|
|
17
|
-
RCT_EXPORT_MODULE(RMFBuilding)
|
|
18
|
-
|
|
19
|
-
- (UIView *)view {
|
|
20
|
-
RMFBuilding *building = [[RMFBuilding alloc] init];
|
|
21
|
-
return building;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
RCT_EXPORT_VIEW_PROPERTY(name, NSString)
|
|
25
|
-
RCT_EXPORT_VIEW_PROPERTY(coordinate, CLLocationCoordinate2D)
|
|
26
|
-
RCT_EXPORT_VIEW_PROPERTY(modelUrl, NSString)
|
|
27
|
-
RCT_EXPORT_VIEW_PROPERTY(textureUrl, NSString)
|
|
28
|
-
RCT_EXPORT_VIEW_PROPERTY(scale, double)
|
|
29
|
-
RCT_EXPORT_VIEW_PROPERTY(bearing, CGFloat)
|
|
30
|
-
RCT_EXPORT_VIEW_PROPERTY(elevation, double)
|
|
31
|
-
RCT_EXPORT_VIEW_PROPERTY(selected, BOOL)
|
|
32
|
-
RCT_EXPORT_VIEW_PROPERTY(touchable, BOOL)
|
|
33
|
-
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
34
|
-
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
35
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
36
|
-
|
|
37
|
-
RCT_EXPORT_METHOD(setName:(nonnull NSNumber *)reactTag name:(NSString *)name) {
|
|
38
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
39
|
-
id view = viewRegistry[reactTag];
|
|
40
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
41
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
42
|
-
} else {
|
|
43
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
44
|
-
[building setName:name];
|
|
45
|
-
}
|
|
46
|
-
}];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
RCT_EXPORT_METHOD(setScale:(nonnull NSNumber *)reactTag scale:(double)scale) {
|
|
50
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
51
|
-
id view = viewRegistry[reactTag];
|
|
52
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
53
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
54
|
-
} else {
|
|
55
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
56
|
-
[building setScale:scale];
|
|
57
|
-
}
|
|
58
|
-
}];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
RCT_EXPORT_METHOD(setBearing:(nonnull NSNumber *)reactTag bearing:(CGFloat)bearing) {
|
|
62
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
63
|
-
id view = viewRegistry[reactTag];
|
|
64
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
65
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
66
|
-
} else {
|
|
67
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
68
|
-
[building setBearing:bearing];
|
|
69
|
-
}
|
|
70
|
-
}];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
RCT_EXPORT_METHOD(setElevation:(nonnull NSNumber *)reactTag elevation:(double)elevation) {
|
|
74
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
75
|
-
id view = viewRegistry[reactTag];
|
|
76
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
77
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
78
|
-
} else {
|
|
79
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
80
|
-
[building setElevation:elevation];
|
|
81
|
-
}
|
|
82
|
-
}];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
RCT_EXPORT_METHOD(setSelected:(nonnull NSNumber *)reactTag selected:(BOOL)selected) {
|
|
86
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
87
|
-
id view = viewRegistry[reactTag];
|
|
88
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
89
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
90
|
-
} else {
|
|
91
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
92
|
-
[building setSelected:selected];
|
|
93
|
-
}
|
|
94
|
-
}];
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
RCT_EXPORT_METHOD(setTouchable:(nonnull NSNumber *)reactTag touchable:(BOOL)touchable) {
|
|
98
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
99
|
-
id view = viewRegistry[reactTag];
|
|
100
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
101
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
102
|
-
} else {
|
|
103
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
104
|
-
[building setTouchable:touchable];
|
|
105
|
-
}
|
|
106
|
-
}];
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag visible:(BOOL)visible) {
|
|
110
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
111
|
-
id view = viewRegistry[reactTag];
|
|
112
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
113
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
114
|
-
} else {
|
|
115
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
116
|
-
[building setVisible:visible];
|
|
117
|
-
}
|
|
118
|
-
}];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag userData:(id)json) {
|
|
122
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
123
|
-
id view = viewRegistry[reactTag];
|
|
124
|
-
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
125
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
126
|
-
} else {
|
|
127
|
-
RMFBuilding *building = (RMFBuilding *)view;
|
|
128
|
-
[building setUserData:[RCTConvert NSDictionary:json]];
|
|
129
|
-
}
|
|
130
|
-
}];
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFBuildingManager.m
|
|
3
|
+
// react-native-map4d-map
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 6/10/25.
|
|
6
|
+
// Copyright © 2025 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFBuildingManager.h"
|
|
10
|
+
#import "RMFBuilding.h"
|
|
11
|
+
#import <React/RCTConvert+CoreLocation.h>
|
|
12
|
+
#import <React/RCTBridge.h>
|
|
13
|
+
#import <React/RCTUIManager.h>
|
|
14
|
+
|
|
15
|
+
@implementation RMFBuildingManager
|
|
16
|
+
|
|
17
|
+
RCT_EXPORT_MODULE(RMFBuilding)
|
|
18
|
+
|
|
19
|
+
- (UIView *)view {
|
|
20
|
+
RMFBuilding *building = [[RMFBuilding alloc] init];
|
|
21
|
+
return building;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
RCT_EXPORT_VIEW_PROPERTY(name, NSString)
|
|
25
|
+
RCT_EXPORT_VIEW_PROPERTY(coordinate, CLLocationCoordinate2D)
|
|
26
|
+
RCT_EXPORT_VIEW_PROPERTY(modelUrl, NSString)
|
|
27
|
+
RCT_EXPORT_VIEW_PROPERTY(textureUrl, NSString)
|
|
28
|
+
RCT_EXPORT_VIEW_PROPERTY(scale, double)
|
|
29
|
+
RCT_EXPORT_VIEW_PROPERTY(bearing, CGFloat)
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(elevation, double)
|
|
31
|
+
RCT_EXPORT_VIEW_PROPERTY(selected, BOOL)
|
|
32
|
+
RCT_EXPORT_VIEW_PROPERTY(touchable, BOOL)
|
|
33
|
+
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
34
|
+
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
35
|
+
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
36
|
+
|
|
37
|
+
RCT_EXPORT_METHOD(setName:(nonnull NSNumber *)reactTag name:(NSString *)name) {
|
|
38
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
39
|
+
id view = viewRegistry[reactTag];
|
|
40
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
41
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
42
|
+
} else {
|
|
43
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
44
|
+
[building setName:name];
|
|
45
|
+
}
|
|
46
|
+
}];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
RCT_EXPORT_METHOD(setScale:(nonnull NSNumber *)reactTag scale:(double)scale) {
|
|
50
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
51
|
+
id view = viewRegistry[reactTag];
|
|
52
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
53
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
54
|
+
} else {
|
|
55
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
56
|
+
[building setScale:scale];
|
|
57
|
+
}
|
|
58
|
+
}];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
RCT_EXPORT_METHOD(setBearing:(nonnull NSNumber *)reactTag bearing:(CGFloat)bearing) {
|
|
62
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
63
|
+
id view = viewRegistry[reactTag];
|
|
64
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
65
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
66
|
+
} else {
|
|
67
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
68
|
+
[building setBearing:bearing];
|
|
69
|
+
}
|
|
70
|
+
}];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
RCT_EXPORT_METHOD(setElevation:(nonnull NSNumber *)reactTag elevation:(double)elevation) {
|
|
74
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
75
|
+
id view = viewRegistry[reactTag];
|
|
76
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
77
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
78
|
+
} else {
|
|
79
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
80
|
+
[building setElevation:elevation];
|
|
81
|
+
}
|
|
82
|
+
}];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
RCT_EXPORT_METHOD(setSelected:(nonnull NSNumber *)reactTag selected:(BOOL)selected) {
|
|
86
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
87
|
+
id view = viewRegistry[reactTag];
|
|
88
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
89
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
90
|
+
} else {
|
|
91
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
92
|
+
[building setSelected:selected];
|
|
93
|
+
}
|
|
94
|
+
}];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
RCT_EXPORT_METHOD(setTouchable:(nonnull NSNumber *)reactTag touchable:(BOOL)touchable) {
|
|
98
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
99
|
+
id view = viewRegistry[reactTag];
|
|
100
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
101
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
102
|
+
} else {
|
|
103
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
104
|
+
[building setTouchable:touchable];
|
|
105
|
+
}
|
|
106
|
+
}];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag visible:(BOOL)visible) {
|
|
110
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
111
|
+
id view = viewRegistry[reactTag];
|
|
112
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
113
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
114
|
+
} else {
|
|
115
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
116
|
+
[building setVisible:visible];
|
|
117
|
+
}
|
|
118
|
+
}];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag userData:(id)json) {
|
|
122
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
123
|
+
id view = viewRegistry[reactTag];
|
|
124
|
+
if (![view isKindOfClass:[RMFBuilding class]]) {
|
|
125
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFBuilding, got: %@", view);
|
|
126
|
+
} else {
|
|
127
|
+
RMFBuilding *building = (RMFBuilding *)view;
|
|
128
|
+
[building setUserData:[RCTConvert NSDictionary:json]];
|
|
129
|
+
}
|
|
130
|
+
}];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@end
|