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/RMFPOI.m
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPOI.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/5/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPOI.h"
|
|
10
|
-
#import <Foundation/Foundation.h>
|
|
11
|
-
#import "RMFEventResponse.h"
|
|
12
|
-
|
|
13
|
-
@implementation RMFPOI
|
|
14
|
-
|
|
15
|
-
- (instancetype)init {
|
|
16
|
-
if ((self = [super init])) {
|
|
17
|
-
_map4dPOI = [[RMFPOIMap4d alloc] init];
|
|
18
|
-
_map4dPOI.reactPOI = self;
|
|
19
|
-
|
|
20
|
-
_coordinate = _map4dPOI.position;
|
|
21
|
-
_title = nil;//_map4dPOI.title;
|
|
22
|
-
_titleColor = _map4dPOI.color;
|
|
23
|
-
_subtitle = nil;//_map4dPOI.subtitle;
|
|
24
|
-
_poiType = nil;//_map4dPOI.type;
|
|
25
|
-
_icon = nil;
|
|
26
|
-
_zIndex = _map4dPOI.zIndex;
|
|
27
|
-
_visible = true;//!_map4dPOI.isHidden;
|
|
28
|
-
_userData = nil;
|
|
29
|
-
}
|
|
30
|
-
return self;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
- (void)setMapView:(RMFMapView *)mapView {
|
|
34
|
-
_map4dPOI.map = mapView;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/** Properties */
|
|
38
|
-
|
|
39
|
-
- (void)setCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
40
|
-
_coordinate = coordinate;
|
|
41
|
-
_map4dPOI.position = coordinate;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
- (void)setTitle:(NSString *)title {
|
|
45
|
-
_title = title;
|
|
46
|
-
_map4dPOI.title = title;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
- (void)setTitleColor:(UIColor *)titleColor {
|
|
50
|
-
_titleColor = titleColor;
|
|
51
|
-
_map4dPOI.color = titleColor;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
- (void)setSubtitle:(NSString *)subtitle {
|
|
55
|
-
_subtitle = subtitle;
|
|
56
|
-
_map4dPOI.subtitle = subtitle;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
- (void)setPoiType:(NSString *)poiType {
|
|
60
|
-
_poiType = poiType;
|
|
61
|
-
_map4dPOI.type = poiType;
|
|
62
|
-
}
|
|
63
|
-
- (void)setIcon:(RMFIcon *)icon {
|
|
64
|
-
_icon = icon;
|
|
65
|
-
if (icon == nil || icon.uri == nil) {
|
|
66
|
-
_map4dPOI.icon = nil;
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
dispatch_async(dispatch_get_global_queue(0,0), ^{
|
|
71
|
-
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: icon.uri]];
|
|
72
|
-
if (imageData != nil) {
|
|
73
|
-
dispatch_async(dispatch_get_main_queue(), ^{
|
|
74
|
-
UIImage* icon = [UIImage imageWithData:imageData];
|
|
75
|
-
self->_map4dPOI.icon = [UIImage imageWithCGImage:[icon CGImage]
|
|
76
|
-
scale:[UIScreen mainScreen].scale
|
|
77
|
-
orientation:icon.imageOrientation];
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
- (void)setZIndex:(float)zIndex {
|
|
84
|
-
_zIndex = zIndex;
|
|
85
|
-
_map4dPOI.zIndex = zIndex;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
- (void)setVisible:(BOOL)visible {
|
|
89
|
-
_visible = visible;
|
|
90
|
-
_map4dPOI.isHidden = !visible;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
- (void)setUserInteractionEnabled:(BOOL)enabled {
|
|
94
|
-
[super setUserInteractionEnabled:enabled];
|
|
95
|
-
_map4dPOI.userInteractionEnabled = enabled;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
- (void)setUserData:(NSDictionary *)userData {
|
|
99
|
-
_userData = userData;
|
|
100
|
-
// _map4dPOI.userData = userData;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/** Event */
|
|
104
|
-
|
|
105
|
-
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
106
|
-
if (!self.onPress) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
CLLocationCoordinate2D tapLocation = [_map4dPOI.map.projection coordinateForPoint:pixel];
|
|
111
|
-
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
112
|
-
pixel:pixel]];
|
|
113
|
-
response[@"poi"] = @{
|
|
114
|
-
kRMFLatLngCoordinateResponseKey: [RMFEventResponse fromCoordinate:_coordinate],
|
|
115
|
-
@"title": _title,
|
|
116
|
-
@"userData": _userData != nil ? _userData : @{}
|
|
117
|
-
};
|
|
118
|
-
response[@"action"] = @"poi-press";
|
|
119
|
-
|
|
120
|
-
self.onPress(response);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPOI.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/5/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPOI.h"
|
|
10
|
+
#import <Foundation/Foundation.h>
|
|
11
|
+
#import "RMFEventResponse.h"
|
|
12
|
+
|
|
13
|
+
@implementation RMFPOI
|
|
14
|
+
|
|
15
|
+
- (instancetype)init {
|
|
16
|
+
if ((self = [super init])) {
|
|
17
|
+
_map4dPOI = [[RMFPOIMap4d alloc] init];
|
|
18
|
+
_map4dPOI.reactPOI = self;
|
|
19
|
+
|
|
20
|
+
_coordinate = _map4dPOI.position;
|
|
21
|
+
_title = nil;//_map4dPOI.title;
|
|
22
|
+
_titleColor = _map4dPOI.color;
|
|
23
|
+
_subtitle = nil;//_map4dPOI.subtitle;
|
|
24
|
+
_poiType = nil;//_map4dPOI.type;
|
|
25
|
+
_icon = nil;
|
|
26
|
+
_zIndex = _map4dPOI.zIndex;
|
|
27
|
+
_visible = true;//!_map4dPOI.isHidden;
|
|
28
|
+
_userData = nil;
|
|
29
|
+
}
|
|
30
|
+
return self;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (void)setMapView:(RMFMapView *)mapView {
|
|
34
|
+
_map4dPOI.map = mapView;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Properties */
|
|
38
|
+
|
|
39
|
+
- (void)setCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
40
|
+
_coordinate = coordinate;
|
|
41
|
+
_map4dPOI.position = coordinate;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
- (void)setTitle:(NSString *)title {
|
|
45
|
+
_title = title;
|
|
46
|
+
_map4dPOI.title = title;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
- (void)setTitleColor:(UIColor *)titleColor {
|
|
50
|
+
_titleColor = titleColor;
|
|
51
|
+
_map4dPOI.color = titleColor;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
- (void)setSubtitle:(NSString *)subtitle {
|
|
55
|
+
_subtitle = subtitle;
|
|
56
|
+
_map4dPOI.subtitle = subtitle;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
- (void)setPoiType:(NSString *)poiType {
|
|
60
|
+
_poiType = poiType;
|
|
61
|
+
_map4dPOI.type = poiType;
|
|
62
|
+
}
|
|
63
|
+
- (void)setIcon:(RMFIcon *)icon {
|
|
64
|
+
_icon = icon;
|
|
65
|
+
if (icon == nil || icon.uri == nil) {
|
|
66
|
+
_map4dPOI.icon = nil;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
dispatch_async(dispatch_get_global_queue(0,0), ^{
|
|
71
|
+
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: icon.uri]];
|
|
72
|
+
if (imageData != nil) {
|
|
73
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
74
|
+
UIImage* icon = [UIImage imageWithData:imageData];
|
|
75
|
+
self->_map4dPOI.icon = [UIImage imageWithCGImage:[icon CGImage]
|
|
76
|
+
scale:[UIScreen mainScreen].scale
|
|
77
|
+
orientation:icon.imageOrientation];
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
- (void)setZIndex:(float)zIndex {
|
|
84
|
+
_zIndex = zIndex;
|
|
85
|
+
_map4dPOI.zIndex = zIndex;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
- (void)setVisible:(BOOL)visible {
|
|
89
|
+
_visible = visible;
|
|
90
|
+
_map4dPOI.isHidden = !visible;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
- (void)setUserInteractionEnabled:(BOOL)enabled {
|
|
94
|
+
[super setUserInteractionEnabled:enabled];
|
|
95
|
+
_map4dPOI.userInteractionEnabled = enabled;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
- (void)setUserData:(NSDictionary *)userData {
|
|
99
|
+
_userData = userData;
|
|
100
|
+
// _map4dPOI.userData = userData;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/** Event */
|
|
104
|
+
|
|
105
|
+
- (void)didTapAtPixel:(CGPoint)pixel {
|
|
106
|
+
if (!self.onPress) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
CLLocationCoordinate2D tapLocation = [_map4dPOI.map.projection coordinateForPoint:pixel];
|
|
111
|
+
NSMutableDictionary* response = [NSMutableDictionary dictionaryWithDictionary:[RMFEventResponse fromCoordinate:tapLocation
|
|
112
|
+
pixel:pixel]];
|
|
113
|
+
response[@"poi"] = @{
|
|
114
|
+
kRMFLatLngCoordinateResponseKey: [RMFEventResponse fromCoordinate:_coordinate],
|
|
115
|
+
@"title": _title,
|
|
116
|
+
@"userData": _userData != nil ? _userData : @{}
|
|
117
|
+
};
|
|
118
|
+
response[@"action"] = @"poi-press";
|
|
119
|
+
|
|
120
|
+
self.onPress(response);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@end
|
package/ios/RMFPOIManager.h
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPOIManager.h
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/5/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFPOIManager_h
|
|
10
|
-
#define RMFPOIManager_h
|
|
11
|
-
|
|
12
|
-
#import <React/RCTViewManager.h>
|
|
13
|
-
|
|
14
|
-
@interface RMFPOIManager : RCTViewManager
|
|
15
|
-
|
|
16
|
-
@end
|
|
17
|
-
|
|
18
|
-
#endif /* RMFPOIManager_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFPOIManager.h
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/5/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFPOIManager_h
|
|
10
|
+
#define RMFPOIManager_h
|
|
11
|
+
|
|
12
|
+
#import <React/RCTViewManager.h>
|
|
13
|
+
|
|
14
|
+
@interface RMFPOIManager : RCTViewManager
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
#endif /* RMFPOIManager_h */
|
package/ios/RMFPOIManager.m
CHANGED
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPOIManager.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/5/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFPOIManager.h"
|
|
10
|
-
#import "RMFPOI.h"
|
|
11
|
-
#import "RCTConvert+Map4dMap.h"
|
|
12
|
-
#import <React/RCTBridge.h>
|
|
13
|
-
#import <React/RCTUIManager.h>
|
|
14
|
-
#import <React/RCTConvert+CoreLocation.h>
|
|
15
|
-
#import <Foundation/Foundation.h>
|
|
16
|
-
|
|
17
|
-
@implementation RMFPOIManager
|
|
18
|
-
|
|
19
|
-
RCT_EXPORT_MODULE(RMFPOI)
|
|
20
|
-
|
|
21
|
-
- (UIView *)view {
|
|
22
|
-
RMFPOI * poi = [[RMFPOI alloc] init];
|
|
23
|
-
return poi;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
RCT_EXPORT_VIEW_PROPERTY(coordinate, CLLocationCoordinate2D)
|
|
27
|
-
RCT_EXPORT_VIEW_PROPERTY(title, NSString)
|
|
28
|
-
RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor)
|
|
29
|
-
RCT_EXPORT_VIEW_PROPERTY(subtitle, NSString)
|
|
30
|
-
RCT_EXPORT_VIEW_PROPERTY(poiType, NSString)
|
|
31
|
-
RCT_EXPORT_VIEW_PROPERTY(icon, RMFIcon)
|
|
32
|
-
RCT_EXPORT_VIEW_PROPERTY(zIndex, float)
|
|
33
|
-
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
34
|
-
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
35
|
-
//RCT_EXPORT_VIEW_PROPERTY(userInteractionEnabled, BOOL)
|
|
36
|
-
|
|
37
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
38
|
-
|
|
39
|
-
RCT_EXPORT_METHOD(setCoordinate:(nonnull NSNumber *)reactTag
|
|
40
|
-
withCoordinate:(id)coordinate)
|
|
41
|
-
{
|
|
42
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
43
|
-
id view = viewRegistry[reactTag];
|
|
44
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
45
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
46
|
-
} else {
|
|
47
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
48
|
-
[poi setCoordinate:[RCTConvert CLLocationCoordinate2D:coordinate]];
|
|
49
|
-
}
|
|
50
|
-
}];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
RCT_EXPORT_METHOD(setTitle:(nonnull NSNumber *)reactTag
|
|
54
|
-
withTitle:(NSString*)title)
|
|
55
|
-
{
|
|
56
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
57
|
-
id view = viewRegistry[reactTag];
|
|
58
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
59
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
60
|
-
} else {
|
|
61
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
62
|
-
[poi setTitle:title];
|
|
63
|
-
}
|
|
64
|
-
}];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
RCT_EXPORT_METHOD(setTitleColor:(nonnull NSNumber *)reactTag
|
|
68
|
-
withColor:(id)json)
|
|
69
|
-
{
|
|
70
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
71
|
-
id view = viewRegistry[reactTag];
|
|
72
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
73
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
74
|
-
} else {
|
|
75
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
76
|
-
UIColor* color = [RCTConvert UIColor:json];
|
|
77
|
-
if (color != nil) {
|
|
78
|
-
[poi setTitleColor:color];
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
RCT_EXPORT_METHOD(setSubTitle:(nonnull NSNumber *)reactTag
|
|
85
|
-
withSubTitle:(NSString*)subTitle)
|
|
86
|
-
{
|
|
87
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
88
|
-
id view = viewRegistry[reactTag];
|
|
89
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
90
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
91
|
-
} else {
|
|
92
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
93
|
-
[poi setSubtitle:subTitle];
|
|
94
|
-
}
|
|
95
|
-
}];
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
RCT_EXPORT_METHOD(setPoiType:(nonnull NSNumber *)reactTag
|
|
99
|
-
withType:(NSString*)type)
|
|
100
|
-
{
|
|
101
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
102
|
-
id view = viewRegistry[reactTag];
|
|
103
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
104
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
105
|
-
} else {
|
|
106
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
107
|
-
[poi setPoiType:type];
|
|
108
|
-
}
|
|
109
|
-
}];
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
RCT_EXPORT_METHOD(setIcon:(nonnull NSNumber *)reactTag
|
|
113
|
-
withIcon:(id)json)
|
|
114
|
-
{
|
|
115
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
116
|
-
id view = viewRegistry[reactTag];
|
|
117
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
118
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
119
|
-
} else {
|
|
120
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
121
|
-
[poi setIcon:[RCTConvert RMFIcon:json]];
|
|
122
|
-
}
|
|
123
|
-
}];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
RCT_EXPORT_METHOD(setZIndex:(nonnull NSNumber *)reactTag
|
|
127
|
-
withZIndex:(float)zIndex)
|
|
128
|
-
{
|
|
129
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
130
|
-
id view = viewRegistry[reactTag];
|
|
131
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
132
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
133
|
-
} else {
|
|
134
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
135
|
-
[poi setZIndex:zIndex];
|
|
136
|
-
}
|
|
137
|
-
}];
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
|
|
141
|
-
visible:(BOOL)visible)
|
|
142
|
-
{
|
|
143
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
144
|
-
id view = viewRegistry[reactTag];
|
|
145
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
146
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
147
|
-
} else {
|
|
148
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
149
|
-
[poi setVisible:visible];
|
|
150
|
-
}
|
|
151
|
-
}];
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
|
|
155
|
-
userData:(id)json)
|
|
156
|
-
{
|
|
157
|
-
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
158
|
-
id view = viewRegistry[reactTag];
|
|
159
|
-
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
160
|
-
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
161
|
-
} else {
|
|
162
|
-
RMFPOI *poi = (RMFPOI *)view;
|
|
163
|
-
[poi setUserData:[RCTConvert NSDictionary:json]];
|
|
164
|
-
}
|
|
165
|
-
}];
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFPOIManager.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/5/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFPOIManager.h"
|
|
10
|
+
#import "RMFPOI.h"
|
|
11
|
+
#import "RCTConvert+Map4dMap.h"
|
|
12
|
+
#import <React/RCTBridge.h>
|
|
13
|
+
#import <React/RCTUIManager.h>
|
|
14
|
+
#import <React/RCTConvert+CoreLocation.h>
|
|
15
|
+
#import <Foundation/Foundation.h>
|
|
16
|
+
|
|
17
|
+
@implementation RMFPOIManager
|
|
18
|
+
|
|
19
|
+
RCT_EXPORT_MODULE(RMFPOI)
|
|
20
|
+
|
|
21
|
+
- (UIView *)view {
|
|
22
|
+
RMFPOI * poi = [[RMFPOI alloc] init];
|
|
23
|
+
return poi;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
RCT_EXPORT_VIEW_PROPERTY(coordinate, CLLocationCoordinate2D)
|
|
27
|
+
RCT_EXPORT_VIEW_PROPERTY(title, NSString)
|
|
28
|
+
RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor)
|
|
29
|
+
RCT_EXPORT_VIEW_PROPERTY(subtitle, NSString)
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(poiType, NSString)
|
|
31
|
+
RCT_EXPORT_VIEW_PROPERTY(icon, RMFIcon)
|
|
32
|
+
RCT_EXPORT_VIEW_PROPERTY(zIndex, float)
|
|
33
|
+
RCT_EXPORT_VIEW_PROPERTY(visible, BOOL)
|
|
34
|
+
RCT_EXPORT_VIEW_PROPERTY(userData, NSDictionary)
|
|
35
|
+
//RCT_EXPORT_VIEW_PROPERTY(userInteractionEnabled, BOOL)
|
|
36
|
+
|
|
37
|
+
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
38
|
+
|
|
39
|
+
RCT_EXPORT_METHOD(setCoordinate:(nonnull NSNumber *)reactTag
|
|
40
|
+
withCoordinate:(id)coordinate)
|
|
41
|
+
{
|
|
42
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
43
|
+
id view = viewRegistry[reactTag];
|
|
44
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
45
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
46
|
+
} else {
|
|
47
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
48
|
+
[poi setCoordinate:[RCTConvert CLLocationCoordinate2D:coordinate]];
|
|
49
|
+
}
|
|
50
|
+
}];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
RCT_EXPORT_METHOD(setTitle:(nonnull NSNumber *)reactTag
|
|
54
|
+
withTitle:(NSString*)title)
|
|
55
|
+
{
|
|
56
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
57
|
+
id view = viewRegistry[reactTag];
|
|
58
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
59
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
60
|
+
} else {
|
|
61
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
62
|
+
[poi setTitle:title];
|
|
63
|
+
}
|
|
64
|
+
}];
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
RCT_EXPORT_METHOD(setTitleColor:(nonnull NSNumber *)reactTag
|
|
68
|
+
withColor:(id)json)
|
|
69
|
+
{
|
|
70
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
71
|
+
id view = viewRegistry[reactTag];
|
|
72
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
73
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
74
|
+
} else {
|
|
75
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
76
|
+
UIColor* color = [RCTConvert UIColor:json];
|
|
77
|
+
if (color != nil) {
|
|
78
|
+
[poi setTitleColor:color];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
RCT_EXPORT_METHOD(setSubTitle:(nonnull NSNumber *)reactTag
|
|
85
|
+
withSubTitle:(NSString*)subTitle)
|
|
86
|
+
{
|
|
87
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
88
|
+
id view = viewRegistry[reactTag];
|
|
89
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
90
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
91
|
+
} else {
|
|
92
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
93
|
+
[poi setSubtitle:subTitle];
|
|
94
|
+
}
|
|
95
|
+
}];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
RCT_EXPORT_METHOD(setPoiType:(nonnull NSNumber *)reactTag
|
|
99
|
+
withType:(NSString*)type)
|
|
100
|
+
{
|
|
101
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
102
|
+
id view = viewRegistry[reactTag];
|
|
103
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
104
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
105
|
+
} else {
|
|
106
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
107
|
+
[poi setPoiType:type];
|
|
108
|
+
}
|
|
109
|
+
}];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
RCT_EXPORT_METHOD(setIcon:(nonnull NSNumber *)reactTag
|
|
113
|
+
withIcon:(id)json)
|
|
114
|
+
{
|
|
115
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
116
|
+
id view = viewRegistry[reactTag];
|
|
117
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
118
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
119
|
+
} else {
|
|
120
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
121
|
+
[poi setIcon:[RCTConvert RMFIcon:json]];
|
|
122
|
+
}
|
|
123
|
+
}];
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
RCT_EXPORT_METHOD(setZIndex:(nonnull NSNumber *)reactTag
|
|
127
|
+
withZIndex:(float)zIndex)
|
|
128
|
+
{
|
|
129
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
130
|
+
id view = viewRegistry[reactTag];
|
|
131
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
132
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
133
|
+
} else {
|
|
134
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
135
|
+
[poi setZIndex:zIndex];
|
|
136
|
+
}
|
|
137
|
+
}];
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
RCT_EXPORT_METHOD(setVisible:(nonnull NSNumber *)reactTag
|
|
141
|
+
visible:(BOOL)visible)
|
|
142
|
+
{
|
|
143
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
144
|
+
id view = viewRegistry[reactTag];
|
|
145
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
146
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
147
|
+
} else {
|
|
148
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
149
|
+
[poi setVisible:visible];
|
|
150
|
+
}
|
|
151
|
+
}];
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
RCT_EXPORT_METHOD(setUserData:(nonnull NSNumber *)reactTag
|
|
155
|
+
userData:(id)json)
|
|
156
|
+
{
|
|
157
|
+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
158
|
+
id view = viewRegistry[reactTag];
|
|
159
|
+
if (![view isKindOfClass:[RMFPOI class]]) {
|
|
160
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
|
|
161
|
+
} else {
|
|
162
|
+
RMFPOI *poi = (RMFPOI *)view;
|
|
163
|
+
[poi setUserData:[RCTConvert NSDictionary:json]];
|
|
164
|
+
}
|
|
165
|
+
}];
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@end
|
package/ios/RMFPOIMap4d.h
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFPOIMap4d.h
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 7/5/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifndef RMFPOIMap4d_h
|
|
10
|
-
#define RMFPOIMap4d_h
|
|
11
|
-
|
|
12
|
-
#import <Map4dMap/Map4dMap.h>
|
|
13
|
-
|
|
14
|
-
@class RMFPOI;
|
|
15
|
-
|
|
16
|
-
@interface RMFPOIMap4d : MFPOI
|
|
17
|
-
|
|
18
|
-
@property (nonatomic, weak) RMFPOI * reactPOI;
|
|
19
|
-
|
|
20
|
-
@end
|
|
21
|
-
|
|
22
|
-
#endif /* RMFPOIMap4d_h */
|
|
1
|
+
//
|
|
2
|
+
// RMFPOIMap4d.h
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 7/5/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifndef RMFPOIMap4d_h
|
|
10
|
+
#define RMFPOIMap4d_h
|
|
11
|
+
|
|
12
|
+
#import <Map4dMap/Map4dMap.h>
|
|
13
|
+
|
|
14
|
+
@class RMFPOI;
|
|
15
|
+
|
|
16
|
+
@interface RMFPOIMap4d : MFPOI
|
|
17
|
+
|
|
18
|
+
@property (nonatomic, weak) RMFPOI * reactPOI;
|
|
19
|
+
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
#endif /* RMFPOIMap4d_h */
|