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/RMFPOIMap4d.m
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPOIMap4d.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/5/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPOIMap4d.h"
|
|
10
|
-
|
|
11
|
-
@implementation RMFPOIMap4d
|
|
12
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPOIMap4d.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/5/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPOIMap4d.h"
|
|
10
|
+
|
|
11
|
+
@implementation RMFPOIMap4d
|
|
12
|
+
@end
|
package/ios/RMFPolygon.h
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolygon.h
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 10/7/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFPolygon_h
|
|
10
|
-
#define RMFPolygon_h
|
|
11
|
-
|
|
12
|
-
#import <React/UIView+React.h>
|
|
13
|
-
#import <Map4dMap/Map4dMap.h>
|
|
14
|
-
#import "RMFPolygonMap4d.h"
|
|
15
|
-
#import "RMFMapView.h"
|
|
16
|
-
#import "RMFCoordinate.h"
|
|
17
|
-
|
|
18
|
-
@interface RMFPolygon : UIView
|
|
19
|
-
|
|
20
|
-
@property (nonatomic, strong) RMFPolygonMap4d* map4dPolygon;
|
|
21
|
-
|
|
22
|
-
@property (nonatomic, copy) RCTBubblingEventBlock _Nullable onPress;
|
|
23
|
-
|
|
24
|
-
@property (nonatomic, strong) NSArray<RMFCoordinate*>* coordinates;
|
|
25
|
-
@property (nonatomic, strong) NSArray<NSArray<RMFCoordinate*>*>* holes;
|
|
26
|
-
|
|
27
|
-
@property (nonatomic, assign) UIColor* fillColor;
|
|
28
|
-
@property (nonatomic, assign) CGFloat strokeWidth;
|
|
29
|
-
@property (nonatomic, assign) UIColor* strokeColor;
|
|
30
|
-
|
|
31
|
-
@property(nonatomic, assign) float zIndex;
|
|
32
|
-
@property(nonatomic, assign) BOOL visible;
|
|
33
|
-
@property(nonatomic, copy, nullable) NSDictionary * userData;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- (void)didTapAtPixel:(CGPoint)pixel;
|
|
37
|
-
- (void)setMapView:(RMFMapView* _Nullable)mapView;
|
|
38
|
-
|
|
39
|
-
@end
|
|
40
|
-
|
|
41
|
-
#endif /* RMFPolygon_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFPolygon.h
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 10/7/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFPolygon_h
|
|
10
|
+
#define RMFPolygon_h
|
|
11
|
+
|
|
12
|
+
#import <React/UIView+React.h>
|
|
13
|
+
#import <Map4dMap/Map4dMap.h>
|
|
14
|
+
#import "RMFPolygonMap4d.h"
|
|
15
|
+
#import "RMFMapView.h"
|
|
16
|
+
#import "RMFCoordinate.h"
|
|
17
|
+
|
|
18
|
+
@interface RMFPolygon : UIView
|
|
19
|
+
|
|
20
|
+
@property (nonatomic, strong) RMFPolygonMap4d* map4dPolygon;
|
|
21
|
+
|
|
22
|
+
@property (nonatomic, copy) RCTBubblingEventBlock _Nullable onPress;
|
|
23
|
+
|
|
24
|
+
@property (nonatomic, strong) NSArray<RMFCoordinate*>* coordinates;
|
|
25
|
+
@property (nonatomic, strong) NSArray<NSArray<RMFCoordinate*>*>* holes;
|
|
26
|
+
|
|
27
|
+
@property (nonatomic, assign) UIColor* fillColor;
|
|
28
|
+
@property (nonatomic, assign) CGFloat strokeWidth;
|
|
29
|
+
@property (nonatomic, assign) UIColor* strokeColor;
|
|
30
|
+
|
|
31
|
+
@property(nonatomic, assign) float zIndex;
|
|
32
|
+
@property(nonatomic, assign) BOOL visible;
|
|
33
|
+
@property(nonatomic, copy, nullable) NSDictionary * userData;
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
- (void)didTapAtPixel:(CGPoint)pixel;
|
|
37
|
+
- (void)setMapView:(RMFMapView* _Nullable)mapView;
|
|
38
|
+
|
|
39
|
+
@end
|
|
40
|
+
|
|
41
|
+
#endif /* RMFPolygon_h */
|
package/ios/RMFPolygon.m
CHANGED
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolygon.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 10/7/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPolygon.h"
|
|
10
|
-
#import "RMFEventResponse.h"
|
|
11
|
-
|
|
12
|
-
@implementation RMFPolygon
|
|
13
|
-
|
|
14
|
-
- (instancetype)init {
|
|
15
|
-
if (self = [super init]) {
|
|
16
|
-
_map4dPolygon = [[RMFPolygonMap4d alloc] init];
|
|
17
|
-
_map4dPolygon.reactPolygon = self;
|
|
18
|
-
|
|
19
|
-
_coordinates = nil;
|
|
20
|
-
_holes = nil;
|
|
21
|
-
_fillColor = _map4dPolygon.fillColor;
|
|
22
|
-
_strokeColor = _map4dPolygon.strokeColor;
|
|
23
|
-
_strokeWidth = _map4dPolygon.strokeWidth;
|
|
24
|
-
_zIndex = _map4dPolygon.zIndex;
|
|
25
|
-
_visible = true;
|
|
26
|
-
_userData = nil;
|
|
27
|
-
}
|
|
28
|
-
return self;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
- (void)setMapView:(RMFMapView *)mapView {
|
|
32
|
-
_map4dPolygon.map = mapView;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Properties */
|
|
36
|
-
|
|
37
|
-
- (void)setCoordinates:(NSArray<RMFCoordinate *> *)coordinates {
|
|
38
|
-
_coordinates = coordinates;
|
|
39
|
-
MFMutablePath* path = [[MFMutablePath alloc] init];
|
|
40
|
-
for (int i = 0; i < coordinates.count; i++) {
|
|
41
|
-
[path addCoordinate:coordinates[i].coordinate];
|
|
42
|
-
}
|
|
43
|
-
_map4dPolygon.path = path;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
- (void)setHoles:(NSArray<NSArray<RMFCoordinate *> *> *)holes {
|
|
47
|
-
_holes = holes;
|
|
48
|
-
|
|
49
|
-
NSMutableArray<MFPath*>* polygonHoles = [[NSMutableArray alloc] init];
|
|
50
|
-
for (int i = 0; i < holes.count; i++) {
|
|
51
|
-
NSArray<RMFCoordinate*>* coordinates = [holes objectAtIndex:i];
|
|
52
|
-
MFMutablePath* path = [[MFMutablePath alloc] init];
|
|
53
|
-
for (int j = 0; j < coordinates.count; j++) {
|
|
54
|
-
[path addCoordinate:coordinates[j].coordinate];
|
|
55
|
-
}
|
|
56
|
-
[polygonHoles addObject:path];
|
|
57
|
-
}
|
|
58
|
-
_map4dPolygon.holes = polygonHoles;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
- (void)setFillColor:(UIColor *)fillColor {
|
|
62
|
-
_fillColor = fillColor;
|
|
63
|
-
_map4dPolygon.fillColor = fillColor;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
- (void)setStrokeColor:(UIColor *)strokeColor {
|
|
67
|
-
_strokeColor = strokeColor;
|
|
68
|
-
_map4dPolygon.strokeColor = strokeColor;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
- (void)setStrokeWidth:(CGFloat)strokeWidth {
|
|
72
|
-
_strokeWidth = strokeWidth;
|
|
73
|
-
_map4dPolygon.strokeWidth = strokeWidth;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
- (void)setZIndex:(float)zIndex {
|
|
77
|
-
_zIndex = zIndex;
|
|
78
|
-
_map4dPolygon.zIndex = zIndex;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
- (void)setVisible:(BOOL)visible {
|
|
82
|
-
_visible = visible;
|
|
83
|
-
_map4dPolygon.isHidden = !visible;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
- (void)setUserData:(NSDictionary *)userData {
|
|
87
|
-
_userData = userData;
|
|
88
|
-
}
|
|
89
|
-
/** Event */
|
|
90
|
-
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
91
|
-
if (!self.onPress) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
CLLocationCoordinate2D tapLocation = [_map4dPolygon.map.projection coordinateForPoint:pixel];
|
|
96
|
-
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
97
|
-
pixel:pixel]];
|
|
98
|
-
response[@"polygon"] = @{
|
|
99
|
-
@"userData": _userData != nil ? _userData : @{}
|
|
100
|
-
};
|
|
101
|
-
response[@"action"] = @"polygon-press";
|
|
102
|
-
|
|
103
|
-
self.onPress(response);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPolygon.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 10/7/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPolygon.h"
|
|
10
|
+
#import "RMFEventResponse.h"
|
|
11
|
+
|
|
12
|
+
@implementation RMFPolygon
|
|
13
|
+
|
|
14
|
+
- (instancetype)init {
|
|
15
|
+
if (self = [super init]) {
|
|
16
|
+
_map4dPolygon = [[RMFPolygonMap4d alloc] init];
|
|
17
|
+
_map4dPolygon.reactPolygon = self;
|
|
18
|
+
|
|
19
|
+
_coordinates = nil;
|
|
20
|
+
_holes = nil;
|
|
21
|
+
_fillColor = _map4dPolygon.fillColor;
|
|
22
|
+
_strokeColor = _map4dPolygon.strokeColor;
|
|
23
|
+
_strokeWidth = _map4dPolygon.strokeWidth;
|
|
24
|
+
_zIndex = _map4dPolygon.zIndex;
|
|
25
|
+
_visible = true;
|
|
26
|
+
_userData = nil;
|
|
27
|
+
}
|
|
28
|
+
return self;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
- (void)setMapView:(RMFMapView *)mapView {
|
|
32
|
+
_map4dPolygon.map = mapView;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Properties */
|
|
36
|
+
|
|
37
|
+
- (void)setCoordinates:(NSArray<RMFCoordinate *> *)coordinates {
|
|
38
|
+
_coordinates = coordinates;
|
|
39
|
+
MFMutablePath* path = [[MFMutablePath alloc] init];
|
|
40
|
+
for (int i = 0; i < coordinates.count; i++) {
|
|
41
|
+
[path addCoordinate:coordinates[i].coordinate];
|
|
42
|
+
}
|
|
43
|
+
_map4dPolygon.path = path;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
- (void)setHoles:(NSArray<NSArray<RMFCoordinate *> *> *)holes {
|
|
47
|
+
_holes = holes;
|
|
48
|
+
|
|
49
|
+
NSMutableArray<MFPath*>* polygonHoles = [[NSMutableArray alloc] init];
|
|
50
|
+
for (int i = 0; i < holes.count; i++) {
|
|
51
|
+
NSArray<RMFCoordinate*>* coordinates = [holes objectAtIndex:i];
|
|
52
|
+
MFMutablePath* path = [[MFMutablePath alloc] init];
|
|
53
|
+
for (int j = 0; j < coordinates.count; j++) {
|
|
54
|
+
[path addCoordinate:coordinates[j].coordinate];
|
|
55
|
+
}
|
|
56
|
+
[polygonHoles addObject:path];
|
|
57
|
+
}
|
|
58
|
+
_map4dPolygon.holes = polygonHoles;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
- (void)setFillColor:(UIColor *)fillColor {
|
|
62
|
+
_fillColor = fillColor;
|
|
63
|
+
_map4dPolygon.fillColor = fillColor;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
- (void)setStrokeColor:(UIColor *)strokeColor {
|
|
67
|
+
_strokeColor = strokeColor;
|
|
68
|
+
_map4dPolygon.strokeColor = strokeColor;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
- (void)setStrokeWidth:(CGFloat)strokeWidth {
|
|
72
|
+
_strokeWidth = strokeWidth;
|
|
73
|
+
_map4dPolygon.strokeWidth = strokeWidth;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
- (void)setZIndex:(float)zIndex {
|
|
77
|
+
_zIndex = zIndex;
|
|
78
|
+
_map4dPolygon.zIndex = zIndex;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
- (void)setVisible:(BOOL)visible {
|
|
82
|
+
_visible = visible;
|
|
83
|
+
_map4dPolygon.isHidden = !visible;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
- (void)setUserData:(NSDictionary *)userData {
|
|
87
|
+
_userData = userData;
|
|
88
|
+
}
|
|
89
|
+
/** Event */
|
|
90
|
+
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
91
|
+
if (!self.onPress) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
CLLocationCoordinate2D tapLocation = [_map4dPolygon.map.projection coordinateForPoint:pixel];
|
|
96
|
+
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
97
|
+
pixel:pixel]];
|
|
98
|
+
response[@"polygon"] = @{
|
|
99
|
+
@"userData": _userData != nil ? _userData : @{}
|
|
100
|
+
};
|
|
101
|
+
response[@"action"] = @"polygon-press";
|
|
102
|
+
|
|
103
|
+
self.onPress(response);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@end
|
package/ios/RMFPolygonManager.h
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolygonManager.h
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 10/7/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFPolygonManager_h
|
|
10
|
-
#define RMFPolygonManager_h
|
|
11
|
-
|
|
12
|
-
#import <React/RCTViewManager.h>
|
|
13
|
-
|
|
14
|
-
@interface RMFPolygonManager : RCTViewManager
|
|
15
|
-
|
|
16
|
-
@end
|
|
17
|
-
|
|
18
|
-
#endif /* RMFPolygonManager_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFPolygonManager.h
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 10/7/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFPolygonManager_h
|
|
10
|
+
#define RMFPolygonManager_h
|
|
11
|
+
|
|
12
|
+
#import <React/RCTViewManager.h>
|
|
13
|
+
|
|
14
|
+
@interface RMFPolygonManager : RCTViewManager
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
#endif /* RMFPolygonManager_h */
|
package/ios/RMFPolygonManager.m
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPolygonManager.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 10/7/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPolygonManager.h"
|
|
10
|
-
#import "RMFPolygon.h"
|
|
11
|
-
#import "RCTConvert+Map4dMap.h"
|
|
12
|
-
#import <React/RCTBridge.h>
|
|
13
|
-
#import <React/RCTUIManager.h>
|
|
14
|
-
#import <Foundation/Foundation.h>
|
|
15
|
-
|
|
16
|
-
@implementation RMFPolygonManager
|
|
17
|
-
|
|
18
|
-
RCT_EXPORT_MODULE(RMFPolygon)
|
|
19
|
-
|
|
20
|
-
- (UIView *)view {
|
|
21
|
-
RMFPolygon* polygon = [[RMFPolygon alloc] init];
|
|
22
|
-
return polygon;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
RCT_EXPORT_VIEW_PROPERTY(coordinates, RMFCoordinateArray)
|
|
26
|
-
RCT_EXPORT_VIEW_PROPERTY(holes, RMFCoordinateArrayArray)
|
|
27
|
-
RCT_EXPORT_VIEW_PROPERTY(fillColor, UIColor)
|
|
28
|
-
RCT_EXPORT_VIEW_PROPERTY(strokeColor, UIColor)
|
|
29
|
-
RCT_EXPORT_VIEW_PROPERTY(strokeWidth, CGFloat)
|
|
30
|
-
RCT_EXPORT_VIEW_PROPERTY(zIndex, float)
|
|
31
|
-
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
32
|
-
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
33
|
-
|
|
34
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
RCT_EXPORT_METHOD(setCoordinates:(nonnull NSNumber *)reactTag
|
|
38
|
-
withCoordinates:(id)coordinates)
|
|
39
|
-
{
|
|
40
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
41
|
-
id view = viewRegistry[reactTag];
|
|
42
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
43
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
44
|
-
} else {
|
|
45
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
46
|
-
[polygon setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
|
|
47
|
-
}
|
|
48
|
-
}];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
RCT_EXPORT_METHOD(setHoles:(nonnull NSNumber *)reactTag
|
|
52
|
-
withHoles:(id)holes)
|
|
53
|
-
{
|
|
54
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
55
|
-
id view = viewRegistry[reactTag];
|
|
56
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
57
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
58
|
-
} else {
|
|
59
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
60
|
-
[polygon setHoles:[RCTConvert RMFCoordinateArrayArray:holes]];
|
|
61
|
-
}
|
|
62
|
-
}];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
RCT_EXPORT_METHOD(setFillColor:(nonnull NSNumber *)reactTag
|
|
66
|
-
color:(id)json)
|
|
67
|
-
{
|
|
68
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
69
|
-
id view = viewRegistry[reactTag];
|
|
70
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
71
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
72
|
-
} else {
|
|
73
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
74
|
-
UIColor* color = [RCTConvert UIColor:json];
|
|
75
|
-
if (color != nil) {
|
|
76
|
-
[polygon setFillColor:color];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}];
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
RCT_EXPORT_METHOD(setStrokeColor:(nonnull NSNumber *)reactTag
|
|
83
|
-
color:(id)json)
|
|
84
|
-
{
|
|
85
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
86
|
-
id view = viewRegistry[reactTag];
|
|
87
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
88
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
89
|
-
} else {
|
|
90
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
91
|
-
UIColor* color = [RCTConvert UIColor:json];
|
|
92
|
-
if (color != nil) {
|
|
93
|
-
[polygon setStrokeColor:color];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
RCT_EXPORT_METHOD(setStrokeWidth:(nonnull NSNumber *)reactTag
|
|
100
|
-
width:(CGFloat)width)
|
|
101
|
-
{
|
|
102
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
103
|
-
id view = viewRegistry[reactTag];
|
|
104
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
105
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
106
|
-
} else {
|
|
107
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
108
|
-
[polygon setStrokeWidth:width];
|
|
109
|
-
}
|
|
110
|
-
}];
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
|
|
114
|
-
visible:(BOOL)visible)
|
|
115
|
-
{
|
|
116
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
117
|
-
id view = viewRegistry[reactTag];
|
|
118
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
119
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
120
|
-
} else {
|
|
121
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
122
|
-
[polygon setVisible:visible];
|
|
123
|
-
}
|
|
124
|
-
}];
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
|
|
128
|
-
userData:(id)json)
|
|
129
|
-
{
|
|
130
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
131
|
-
id view = viewRegistry[reactTag];
|
|
132
|
-
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
133
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
134
|
-
} else {
|
|
135
|
-
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
136
|
-
[polygon setUserData:[RCTConvert NSDictionary:json]];
|
|
137
|
-
}
|
|
138
|
-
}];
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPolygonManager.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 10/7/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPolygonManager.h"
|
|
10
|
+
#import "RMFPolygon.h"
|
|
11
|
+
#import "RCTConvert+Map4dMap.h"
|
|
12
|
+
#import <React/RCTBridge.h>
|
|
13
|
+
#import <React/RCTUIManager.h>
|
|
14
|
+
#import <Foundation/Foundation.h>
|
|
15
|
+
|
|
16
|
+
@implementation RMFPolygonManager
|
|
17
|
+
|
|
18
|
+
RCT_EXPORT_MODULE(RMFPolygon)
|
|
19
|
+
|
|
20
|
+
- (UIView *)view {
|
|
21
|
+
RMFPolygon* polygon = [[RMFPolygon alloc] init];
|
|
22
|
+
return polygon;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
RCT_EXPORT_VIEW_PROPERTY(coordinates, RMFCoordinateArray)
|
|
26
|
+
RCT_EXPORT_VIEW_PROPERTY(holes, RMFCoordinateArrayArray)
|
|
27
|
+
RCT_EXPORT_VIEW_PROPERTY(fillColor, UIColor)
|
|
28
|
+
RCT_EXPORT_VIEW_PROPERTY(strokeColor, UIColor)
|
|
29
|
+
RCT_EXPORT_VIEW_PROPERTY(strokeWidth, CGFloat)
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(zIndex, float)
|
|
31
|
+
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
32
|
+
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
33
|
+
|
|
34
|
+
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
RCT_EXPORT_METHOD(setCoordinates:(nonnull NSNumber *)reactTag
|
|
38
|
+
withCoordinates:(id)coordinates)
|
|
39
|
+
{
|
|
40
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
41
|
+
id view = viewRegistry[reactTag];
|
|
42
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
43
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
44
|
+
} else {
|
|
45
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
46
|
+
[polygon setCoordinates:[RCTConvert RMFCoordinateArray:coordinates]];
|
|
47
|
+
}
|
|
48
|
+
}];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
RCT_EXPORT_METHOD(setHoles:(nonnull NSNumber *)reactTag
|
|
52
|
+
withHoles:(id)holes)
|
|
53
|
+
{
|
|
54
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
55
|
+
id view = viewRegistry[reactTag];
|
|
56
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
57
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
58
|
+
} else {
|
|
59
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
60
|
+
[polygon setHoles:[RCTConvert RMFCoordinateArrayArray:holes]];
|
|
61
|
+
}
|
|
62
|
+
}];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
RCT_EXPORT_METHOD(setFillColor:(nonnull NSNumber *)reactTag
|
|
66
|
+
color:(id)json)
|
|
67
|
+
{
|
|
68
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
69
|
+
id view = viewRegistry[reactTag];
|
|
70
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
71
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
72
|
+
} else {
|
|
73
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
74
|
+
UIColor* color = [RCTConvert UIColor:json];
|
|
75
|
+
if (color != nil) {
|
|
76
|
+
[polygon setFillColor:color];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
RCT_EXPORT_METHOD(setStrokeColor:(nonnull NSNumber *)reactTag
|
|
83
|
+
color:(id)json)
|
|
84
|
+
{
|
|
85
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
86
|
+
id view = viewRegistry[reactTag];
|
|
87
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
88
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
89
|
+
} else {
|
|
90
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
91
|
+
UIColor* color = [RCTConvert UIColor:json];
|
|
92
|
+
if (color != nil) {
|
|
93
|
+
[polygon setStrokeColor:color];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
RCT_EXPORT_METHOD(setStrokeWidth:(nonnull NSNumber *)reactTag
|
|
100
|
+
width:(CGFloat)width)
|
|
101
|
+
{
|
|
102
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
103
|
+
id view = viewRegistry[reactTag];
|
|
104
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
105
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
106
|
+
} else {
|
|
107
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
108
|
+
[polygon setStrokeWidth:width];
|
|
109
|
+
}
|
|
110
|
+
}];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
|
|
114
|
+
visible:(BOOL)visible)
|
|
115
|
+
{
|
|
116
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
117
|
+
id view = viewRegistry[reactTag];
|
|
118
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
119
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
120
|
+
} else {
|
|
121
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
122
|
+
[polygon setVisible:visible];
|
|
123
|
+
}
|
|
124
|
+
}];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
|
|
128
|
+
userData:(id)json)
|
|
129
|
+
{
|
|
130
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
131
|
+
id view = viewRegistry[reactTag];
|
|
132
|
+
if (![view isKindOfClass:[RMFPolygon class]]) {
|
|
133
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
|
|
134
|
+
} else {
|
|
135
|
+
RMFPolygon *polygon = (RMFPolygon *)view;
|
|
136
|
+
[polygon setUserData:[RCTConvert NSDictionary:json]];
|
|
137
|
+
}
|
|
138
|
+
}];
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@end
|