react-native-map4d-map-dtqg 0.1.0

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.
Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -0
  3. package/android/build.gradle +60 -0
  4. package/android/src/main/AndroidManifest.xml +4 -0
  5. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -0
  6. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -0
  7. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -0
  8. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -0
  9. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -0
  10. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -0
  11. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -0
  12. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +122 -0
  13. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -0
  14. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -0
  15. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +18 -0
  16. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -0
  17. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +226 -0
  18. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -0
  19. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +212 -0
  20. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -0
  21. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -0
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +173 -0
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +148 -0
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -0
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +138 -0
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -0
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +65 -0
  28. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -0
  29. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -0
  30. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -0
  31. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -0
  32. package/ios/Map4dMap.h +7 -0
  33. package/ios/Map4dMap.m +14 -0
  34. package/ios/Map4dMap.xcodeproj/project.pbxproj +282 -0
  35. package/ios/Map4dMapViewManager.m +34 -0
  36. package/ios/RCTConvert+Map4dMap.h +33 -0
  37. package/ios/RCTConvert+Map4dMap.m +112 -0
  38. package/ios/RMFCircle.h +37 -0
  39. package/ios/RMFCircle.m +100 -0
  40. package/ios/RMFCircleManager.h +18 -0
  41. package/ios/RMFCircleManager.m +155 -0
  42. package/ios/RMFCircleMap4d.h +23 -0
  43. package/ios/RMFCircleMap4d.m +13 -0
  44. package/ios/RMFCoordinate.h +22 -0
  45. package/ios/RMFCoordinate.m +13 -0
  46. package/ios/RMFDirectionsMarkerOptions.h +24 -0
  47. package/ios/RMFDirectionsMarkerOptions.m +23 -0
  48. package/ios/RMFDirectionsRenderer.h +47 -0
  49. package/ios/RMFDirectionsRenderer.m +182 -0
  50. package/ios/RMFDirectionsRendererManager.h +17 -0
  51. package/ios/RMFDirectionsRendererManager.m +84 -0
  52. package/ios/RMFDirectionsRendererMap4d.h +21 -0
  53. package/ios/RMFDirectionsRendererMap4d.m +12 -0
  54. package/ios/RMFDummyView.h +7 -0
  55. package/ios/RMFDummyView.m +13 -0
  56. package/ios/RMFEventResponse.h +39 -0
  57. package/ios/RMFEventResponse.m +98 -0
  58. package/ios/RMFIcon.h +24 -0
  59. package/ios/RMFIcon.m +35 -0
  60. package/ios/RMFMapView.h +84 -0
  61. package/ios/RMFMapView.m +376 -0
  62. package/ios/RMFMapViewManager.h +17 -0
  63. package/ios/RMFMapViewManager.m +493 -0
  64. package/ios/RMFMarker.h +57 -0
  65. package/ios/RMFMarker.m +267 -0
  66. package/ios/RMFMarkerManager.h +17 -0
  67. package/ios/RMFMarkerManager.m +156 -0
  68. package/ios/RMFMarkerMap4d.h +19 -0
  69. package/ios/RMFMarkerMap4d.m +13 -0
  70. package/ios/RMFPOI.h +38 -0
  71. package/ios/RMFPOI.m +123 -0
  72. package/ios/RMFPOIManager.h +18 -0
  73. package/ios/RMFPOIManager.m +168 -0
  74. package/ios/RMFPOIMap4d.h +22 -0
  75. package/ios/RMFPOIMap4d.m +12 -0
  76. package/ios/RMFPolygon.h +41 -0
  77. package/ios/RMFPolygon.m +106 -0
  78. package/ios/RMFPolygonManager.h +18 -0
  79. package/ios/RMFPolygonManager.m +141 -0
  80. package/ios/RMFPolygonMap4d.h +23 -0
  81. package/ios/RMFPolygonMap4d.m +15 -0
  82. package/ios/RMFPolyline.h +38 -0
  83. package/ios/RMFPolyline.m +101 -0
  84. package/ios/RMFPolylineManager.h +18 -0
  85. package/ios/RMFPolylineManager.m +139 -0
  86. package/ios/RMFPolylineMap4d.h +22 -0
  87. package/ios/RMFPolylineMap4d.m +15 -0
  88. package/ios/building/RMFBuilding.h +41 -0
  89. package/ios/building/RMFBuilding.m +104 -0
  90. package/ios/building/RMFBuildingManager.h +19 -0
  91. package/ios/building/RMFBuildingManager.m +133 -0
  92. package/ios/building/RMFBuildingMap4d.h +23 -0
  93. package/ios/building/RMFBuildingMap4d.m +15 -0
  94. package/ios/overlays/RMFTileOverlay.h +36 -0
  95. package/ios/overlays/RMFTileOverlay.m +64 -0
  96. package/ios/overlays/RMFTileOverlayManager.h +17 -0
  97. package/ios/overlays/RMFTileOverlayManager.m +27 -0
  98. package/lib/commonjs/components/MFBuilding.js +192 -0
  99. package/lib/commonjs/components/MFBuilding.js.map +1 -0
  100. package/lib/commonjs/components/MFCircle.js +181 -0
  101. package/lib/commonjs/components/MFCircle.js.map +1 -0
  102. package/lib/commonjs/components/MFDirectionsRenderer.js +240 -0
  103. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -0
  104. package/lib/commonjs/components/MFMapView.js +375 -0
  105. package/lib/commonjs/components/MFMapView.js.map +1 -0
  106. package/lib/commonjs/components/MFMarker.js +255 -0
  107. package/lib/commonjs/components/MFMarker.js.map +1 -0
  108. package/lib/commonjs/components/MFPOI.js +204 -0
  109. package/lib/commonjs/components/MFPOI.js.map +1 -0
  110. package/lib/commonjs/components/MFPolygon.js +183 -0
  111. package/lib/commonjs/components/MFPolygon.js.map +1 -0
  112. package/lib/commonjs/components/MFPolyline.js +173 -0
  113. package/lib/commonjs/components/MFPolyline.js.map +1 -0
  114. package/lib/commonjs/components/MFTileOverlay.js +51 -0
  115. package/lib/commonjs/components/MFTileOverlay.js.map +1 -0
  116. package/lib/commonjs/components/Map4dMapView.js +19 -0
  117. package/lib/commonjs/components/Map4dMapView.js.map +1 -0
  118. package/lib/commonjs/index.js +78 -0
  119. package/lib/commonjs/index.js.map +1 -0
  120. package/lib/module/components/MFBuilding.js +178 -0
  121. package/lib/module/components/MFBuilding.js.map +1 -0
  122. package/lib/module/components/MFCircle.js +167 -0
  123. package/lib/module/components/MFCircle.js.map +1 -0
  124. package/lib/module/components/MFDirectionsRenderer.js +226 -0
  125. package/lib/module/components/MFDirectionsRenderer.js.map +1 -0
  126. package/lib/module/components/MFMapView.js +361 -0
  127. package/lib/module/components/MFMapView.js.map +1 -0
  128. package/lib/module/components/MFMarker.js +240 -0
  129. package/lib/module/components/MFMarker.js.map +1 -0
  130. package/lib/module/components/MFPOI.js +190 -0
  131. package/lib/module/components/MFPOI.js.map +1 -0
  132. package/lib/module/components/MFPolygon.js +169 -0
  133. package/lib/module/components/MFPolygon.js.map +1 -0
  134. package/lib/module/components/MFPolyline.js +159 -0
  135. package/lib/module/components/MFPolyline.js.map +1 -0
  136. package/lib/module/components/MFTileOverlay.js +38 -0
  137. package/lib/module/components/MFTileOverlay.js.map +1 -0
  138. package/lib/module/components/Map4dMapView.js +10 -0
  139. package/lib/module/components/Map4dMapView.js.map +1 -0
  140. package/lib/module/index.js +11 -0
  141. package/lib/module/index.js.map +1 -0
  142. package/lib/typescript/components/Map4dMapView.d.ts +7 -0
  143. package/package.json +152 -0
  144. package/react-native-map4d-map.podspec +20 -0
  145. package/src/components/MFBuilding.js +188 -0
  146. package/src/components/MFCircle.js +173 -0
  147. package/src/components/MFDirectionsRenderer.js +237 -0
  148. package/src/components/MFMapView.js +374 -0
  149. package/src/components/MFMarker.js +246 -0
  150. package/src/components/MFPOI.js +184 -0
  151. package/src/components/MFPolygon.js +186 -0
  152. package/src/components/MFPolyline.js +172 -0
  153. package/src/components/MFTileOverlay.js +45 -0
  154. package/src/components/Map4dMapView.tsx +27 -0
  155. package/src/index.js +21 -0
@@ -0,0 +1,84 @@
1
+ //
2
+ // RMFDirectionsRendererManager.m
3
+ // Map4dMap React Native
4
+ //
5
+ // Created by Huy Dang on 11/15/21.
6
+ //
7
+
8
+ #import "RMFDirectionsRendererManager.h"
9
+ #import "RMFDirectionsRenderer.h"
10
+ #import "RCTConvert+Map4dMap.h"
11
+ #import <React/RCTBridge.h>
12
+ #import <React/RCTUIManager.h>
13
+
14
+ @implementation RMFDirectionsRendererManager
15
+
16
+ RCT_EXPORT_MODULE(RMFDirectionsRenderer)
17
+
18
+ - (UIView*)view {
19
+ RMFDirectionsRenderer* renderer = [[RMFDirectionsRenderer alloc] init];
20
+ return renderer;
21
+ }
22
+
23
+ RCT_EXPORT_VIEW_PROPERTY(routes, RMFCoordinateArrayArray)
24
+ RCT_EXPORT_VIEW_PROPERTY(directions, NSString)
25
+ RCT_EXPORT_VIEW_PROPERTY(activedIndex, NSUInteger)
26
+
27
+ RCT_EXPORT_VIEW_PROPERTY(activeStrokeWidth, CGFloat)
28
+ RCT_EXPORT_VIEW_PROPERTY(activeStrokeColor, UIColor)
29
+ RCT_EXPORT_VIEW_PROPERTY(activeOutlineWidth, CGFloat)
30
+ RCT_EXPORT_VIEW_PROPERTY(activeOutlineColor, UIColor)
31
+
32
+ RCT_EXPORT_VIEW_PROPERTY(inactiveStrokeWidth, CGFloat)
33
+ RCT_EXPORT_VIEW_PROPERTY(inactiveStrokeColor, UIColor)
34
+ RCT_EXPORT_VIEW_PROPERTY(inactiveOutlineWidth, CGFloat)
35
+ RCT_EXPORT_VIEW_PROPERTY(inactiveOutlineColor, UIColor)
36
+
37
+ RCT_EXPORT_VIEW_PROPERTY(originPOIOptions, RMFDirectionsMarkerOptions)
38
+ RCT_EXPORT_VIEW_PROPERTY(destinationPOIOptions, RMFDirectionsMarkerOptions)
39
+
40
+ RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
41
+
42
+ RCT_EXPORT_METHOD(setActivedIndex:(nonnull NSNumber *)reactTag
43
+ withRouteIndex:(NSUInteger)routeIndex)
44
+ {
45
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
46
+ id view = viewRegistry[reactTag];
47
+ if (![view isKindOfClass:[RMFDirectionsRenderer class]]) {
48
+ RCTLogError(@"Invalid view returned from registry, expecting RMFCircle, got: %@", view);
49
+ } else {
50
+ RMFDirectionsRenderer* renderer = (RMFDirectionsRenderer*)view;
51
+ renderer.activedIndex = routeIndex;
52
+ }
53
+ }];
54
+ }
55
+
56
+ RCT_EXPORT_METHOD(setRoutes:(nonnull NSNumber *)reactTag
57
+ withRoutes:(id)routes)
58
+ {
59
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
60
+ id view = viewRegistry[reactTag];
61
+ if (![view isKindOfClass:[RMFDirectionsRenderer class]]) {
62
+ RCTLogError(@"Invalid view returned from registry, expecting RMFPolygon, got: %@", view);
63
+ } else {
64
+ RMFDirectionsRenderer* renderer = (RMFDirectionsRenderer*)view;
65
+ [renderer setRoutes:[RCTConvert RMFCoordinateArrayArray:routes]];
66
+ }
67
+ }];
68
+ }
69
+
70
+ RCT_EXPORT_METHOD(setDirections:(nonnull NSNumber *)reactTag
71
+ withDirections:(NSString*)directions)
72
+ {
73
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
74
+ id view = viewRegistry[reactTag];
75
+ if (![view isKindOfClass:[RMFDirectionsRenderer class]]) {
76
+ RCTLogError(@"Invalid view returned from registry, expecting RMFMarker, got: %@", view);
77
+ } else {
78
+ RMFDirectionsRenderer* renderer = (RMFDirectionsRenderer*)view;
79
+ [renderer.map4dDirectionsRenderer setRoutesWithJson:directions];
80
+ }
81
+ }];
82
+ }
83
+
84
+ @end
@@ -0,0 +1,21 @@
1
+ //
2
+ // RMFDirectionsRendererMap4d.h
3
+ // Map4dMap React Native
4
+ //
5
+ // Created by Huy Dang on 11/15/21.
6
+ //
7
+
8
+ #ifndef RMFDirectionsRendererMap4d_h
9
+ #define RMFDirectionsRendererMap4d_h
10
+
11
+ #import <Map4dMap/Map4dMap.h>
12
+
13
+ @class RMFDirectionsRenderer;
14
+
15
+ @interface RMFDirectionsRendererMap4d : MFDirectionsRenderer
16
+
17
+ @property (nonatomic, weak) RMFDirectionsRenderer* reactRenderer;
18
+
19
+ @end
20
+
21
+ #endif /* RMFDirectionsRendererMap4d_h */
@@ -0,0 +1,12 @@
1
+ //
2
+ // RMFDirectionsRendererMap4d.m
3
+ // Map4dMap React Native
4
+ //
5
+ // Created by Huy Dang on 11/15/21.
6
+ //
7
+
8
+ #import "RMFDirectionsRendererMap4d.h"
9
+
10
+ @implementation RMFDirectionsRendererMap4d
11
+
12
+ @end
@@ -0,0 +1,7 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+
4
+ @interface RMFDummyView : UIView
5
+ @property (nonatomic, weak) UIView *view;
6
+ - (instancetype)initWithView:(UIView*)view;
7
+ @end
@@ -0,0 +1,13 @@
1
+
2
+ #import <Foundation/Foundation.h>
3
+ #import "RMFDummyView.h"
4
+
5
+ @implementation RMFDummyView
6
+ - (instancetype)initWithView:(UIView*)view
7
+ {
8
+ if ((self = [super init])) {
9
+ self.view = view;
10
+ }
11
+ return self;
12
+ }
13
+ @end
@@ -0,0 +1,39 @@
1
+ //
2
+ // RMFEventResponse.h
3
+ // Map4dMap
4
+ //
5
+ // Created by Huy Dang on 7/8/20.
6
+ // Copyright © 2020 IOTLink. All rights reserved.
7
+ //
8
+
9
+ #ifndef MFEventResponse_h
10
+ #define MFEventResponse_h
11
+
12
+ #import <CoreLocation/CoreLocation.h>
13
+
14
+ @class RMFMarker;
15
+ @class RMFCircle;
16
+ @class RMFPOI;
17
+ @class RMFPolyline;
18
+ @class RMFPolygon;
19
+
20
+ @class MFPOI;
21
+ @class MFProjection;
22
+ @class MFCameraPosition;
23
+ @class MFCoordinateBounds;
24
+
25
+ FOUNDATION_EXPORT NSString *const kRMFLatLngCoordinateResponseKey;
26
+ FOUNDATION_EXPORT NSString *const kRMFPointCoordinateResponseKey;
27
+
28
+ @interface RMFEventResponse : NSObject
29
+
30
+ + (NSDictionary*)fromCoordinate:(CLLocationCoordinate2D)coordinate;
31
+ + (NSDictionary*)fromCoordinate:(CLLocationCoordinate2D)location pixel:(CGPoint)pixel;
32
+ + (NSDictionary*)fromCameraPosition:(MFCameraPosition*) position;
33
+ + (NSDictionary*)fromCoordinateBounds:(MFCoordinateBounds*)bounds;
34
+ + (NSDictionary*)fromCGPoint:(CGPoint) point;
35
+ + (NSDictionary*)fromCLLocation:(CLLocation*) location;
36
+
37
+ @end
38
+
39
+ #endif /* RMFEventResponse_h */
@@ -0,0 +1,98 @@
1
+ //
2
+ // RMFEventResponse.m
3
+ // Map4dMap
4
+ //
5
+ // Created by Huy Dang on 7/8/20.
6
+ // Copyright © 2020 IOTLink. All rights reserved.
7
+ //
8
+
9
+ #import "RMFEventResponse.h"
10
+ #import "RMFMarker.h"
11
+ #import "RMFCircle.h"
12
+ #import "RMFPolyline.h"
13
+ #import "RMFPolygon.h"
14
+ #import "RMFPOI.h"
15
+
16
+ NSString *const kRMFLatLngCoordinateResponseKey = @"location";
17
+ NSString *const kRMFPointCoordinateResponseKey = @"pixel";
18
+
19
+ @implementation RMFEventResponse
20
+
21
+ + (NSString*) hexStringFromColor:(UIColor*) color {
22
+ if (color != nil) {
23
+ CGFloat r, g, b, a;
24
+ [color getRed:&r green:&g blue:&b alpha:&a];
25
+ return [NSString stringWithFormat:@"#%02lX%02lX%02lX%02lX", lroundf(r * 255), lroundf(g * 255), lroundf(b * 255), lroundf(a * 255)];
26
+ }
27
+ return @"";
28
+ }
29
+
30
+ + (NSDictionary*)fromCoordinate:(CLLocationCoordinate2D)coordinate {
31
+ return (@{
32
+ @"latitude": @(coordinate.latitude),
33
+ @"longitude": @(coordinate.longitude),
34
+ });
35
+ }
36
+
37
+ + (NSDictionary*)fromCameraPosition:(MFCameraPosition*) position {
38
+ if (position == nil) {
39
+ return (@{});
40
+ }
41
+ return (@{
42
+ @"center": @{
43
+ @"latitude": @(position.target.latitude),
44
+ @"longitude": @(position.target.longitude)
45
+ },
46
+ @"zoom": @(position.zoom),
47
+ @"bearing": @(position.bearing),
48
+ @"tilt": @(position.tilt)
49
+ });
50
+ }
51
+
52
+ + (NSDictionary*)fromCoordinateBounds:(MFCoordinateBounds*)bounds {
53
+ if (bounds == nil) {
54
+ return @{};
55
+ }
56
+ return @{
57
+ @"northEast": @{
58
+ @"latitude": @(bounds.northEast.latitude),
59
+ @"longitude": @(bounds.northEast.longitude)
60
+ },
61
+ @"southWest": @{
62
+ @"latitude": @(bounds.southWest.latitude),
63
+ @"longitude": @(bounds.southWest.longitude)
64
+ }
65
+ };
66
+ }
67
+
68
+ + (NSDictionary*)fromCGPoint:(CGPoint) point {
69
+ return (@{ @"x": @(point.x), @"y": @(point.y) });
70
+ }
71
+
72
+ + (NSDictionary*)fromCLLocation:(CLLocation *)location {
73
+ if (location == nil) {
74
+ return (@{});
75
+ }
76
+
77
+ return (@{
78
+ @"coordinate": @{
79
+ @"latitude": @(location.coordinate.latitude),
80
+ @"longitude": @(location.coordinate.longitude)
81
+ },
82
+ @"altitude": @(location.altitude),
83
+ @"timestamp": @(location.timestamp.timeIntervalSinceReferenceDate * 1000),
84
+ @"accuracy": @(location.horizontalAccuracy),
85
+ @"altitudeAccuracy": @(location.verticalAccuracy),
86
+ @"speed": @(location.speed),
87
+ @"heading": @(location.course),
88
+ });
89
+ }
90
+
91
+ + (NSDictionary *)fromCoordinate:(CLLocationCoordinate2D)location pixel:(CGPoint)pixel {
92
+ return @{
93
+ kRMFLatLngCoordinateResponseKey: [RMFEventResponse fromCoordinate:location],
94
+ kRMFPointCoordinateResponseKey: [RMFEventResponse fromCGPoint:pixel]
95
+ };
96
+ }
97
+
98
+ @end
package/ios/RMFIcon.h ADDED
@@ -0,0 +1,24 @@
1
+ //
2
+ // RMFIcon.h
3
+ // Map4dMap
4
+ //
5
+ // Created by Huy Dang on 7/13/20.
6
+ // Copyright © 2020 IOTLink. All rights reserved.
7
+ //
8
+
9
+ #ifndef RMFIcon_h
10
+ #define RMFIcon_h
11
+
12
+ @interface RMFIcon : NSObject
13
+
14
+ @property (nonatomic, copy, nullable) NSString *uri;
15
+ @property (nonatomic, assign, nullable) NSNumber *width;
16
+ @property (nonatomic, assign, nullable) NSNumber *height;
17
+
18
+ @property (nonatomic, copy, nullable) UIImage* image;
19
+
20
+ - (instancetype _Nonnull) init;
21
+
22
+ @end
23
+
24
+ #endif /* RMFIcon_h */
package/ios/RMFIcon.m ADDED
@@ -0,0 +1,35 @@
1
+ //
2
+ // RMFIcon.m
3
+ // Map4dMap
4
+ //
5
+ // Created by Huy Dang on 7/13/20.
6
+ // Copyright © 2020 IOTLink. All rights reserved.
7
+ //
8
+
9
+ #import "RMFIcon.h"
10
+ #import <Foundation/Foundation.h>
11
+
12
+ @implementation RMFIcon
13
+
14
+ - (instancetype _Nonnull) init {
15
+ self = [super init];
16
+ self.uri = nil;
17
+ self.width = nil;
18
+ self.height = nil;
19
+ self.image = nil;
20
+ return self;
21
+ }
22
+
23
+ - (void)setImage:(UIImage *)image {
24
+ if ((image.size.width == [_width intValue] && image.size.height == [_height intValue]) || (_width == nil || _height == nil)) {
25
+ _image = image;
26
+ } else {
27
+ CGSize newSize = CGSizeMake([_width intValue], [_height intValue]);
28
+ UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
29
+ [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
30
+ _image = UIGraphicsGetImageFromCurrentImageContext();
31
+ UIGraphicsEndImageContext();
32
+ }
33
+ }
34
+
35
+ @end
@@ -0,0 +1,84 @@
1
+ //
2
+ // RMFMapView.h
3
+ // Map4dMap
4
+ //
5
+ // Created by Huy Dang on 4/27/20.
6
+ // Copyright © 2020 IOTLink. All rights reserved.
7
+ //
8
+
9
+ #ifndef RMFMapView_h
10
+ #define RMFMapView_h
11
+
12
+ #import <UIKit/UIKit.h>
13
+ #import <Map4dMap/Map4dMap.h>
14
+ #import <React/RCTComponent.h>
15
+
16
+ @interface RMFMapView : MFMapView
17
+
18
+ @property (nonatomic, copy) RCTBubblingEventBlock onMapReady;
19
+ //@property (nonatomic, copy) RCTBubblingEventBlock onMapLoaded;
20
+ //@property (nonatomic, copy) RCTBubblingEventBlock onKmlReady;
21
+ @property (nonatomic, copy) RCTBubblingEventBlock onPress;
22
+ //@property (nonatomic, copy) RCTBubblingEventBlock onLongPress;
23
+ //@property (nonatomic, copy) RCTBubblingEventBlock onPanDrag;
24
+ //@property (nonatomic, copy) RCTBubblingEventBlock onUserLocationChange;
25
+ //@property (nonatomic, copy) RCTBubblingEventBlock onMarkerPress;
26
+ //@property (nonatomic, copy) RCTBubblingEventBlock onChange;
27
+ @property (nonatomic, copy) RCTBubblingEventBlock onPoiPress;
28
+ @property (nonatomic, copy) RCTBubblingEventBlock onBuildingPress;
29
+ @property (nonatomic, copy) RCTBubblingEventBlock onPlacePress;
30
+ @property (nonatomic, copy) RCTBubblingEventBlock onDataSourceFeaturePress;
31
+ //@property (nonatomic, copy) RCTDirectEventBlock onRegionChange;
32
+ //@property (nonatomic, copy) RCTDirectEventBlock onRegionChangeComplete;
33
+ //@property (nonatomic, copy) RCTDirectEventBlock onIndoorLevelActivated;
34
+ //@property (nonatomic, copy) RCTDirectEventBlock onIndoorBuildingFocused;
35
+ @property (nonatomic, copy) RCTDirectEventBlock onCameraMove;
36
+ @property (nonatomic, copy) RCTDirectEventBlock onCameraMoveStart;
37
+ @property (nonatomic, copy) RCTDirectEventBlock onCameraIdle;
38
+ @property (nonatomic, copy) RCTDirectEventBlock onMyLocationButtonPress;
39
+
40
+ //@property (nonatomic, assign) MKCoordinateRegion initialRegion;
41
+ //@property (nonatomic, assign) MKCoordinateRegion region;
42
+ @property (nonatomic, assign) NSString* mapIdProp;
43
+ @property (nonatomic, assign) MFCameraPosition *cameraProp; // Because the base class already has a "camera" prop.
44
+ @property (nonatomic, assign) NSString* mapTypeProp;
45
+ //@property (nonatomic, assign) GMSCameraPosition *initialCamera;
46
+ //@property (nonatomic, assign) NSString *customMapStyleString;
47
+ //@property (nonatomic, assign) UIEdgeInsets mapPadding;
48
+ //@property (nonatomic, assign) NSString *paddingAdjustmentBehaviorString;
49
+
50
+ @property (nonatomic, assign) BOOL showsBuildings;
51
+ @property (nonatomic, assign) BOOL showsPOIs;
52
+ //@property (nonatomic, assign) BOOL showsTraffic;
53
+ //@property (nonatomic, assign) BOOL showsCompass;
54
+
55
+ @property (nonatomic, assign) BOOL zoomGesturesEnabled;
56
+ @property (nonatomic, assign) BOOL scrollGesturesEnabled;
57
+ @property (nonatomic, assign) BOOL rotateGesturesEnabled;
58
+ @property (nonatomic, assign) BOOL tiltGesturesEnabled;
59
+
60
+ @property (nonatomic, assign) BOOL showsMyLocation;
61
+ @property (nonatomic, assign) BOOL showsMyLocationButton;
62
+ //@property (nonatomic, assign) BOOL showsIndoors;
63
+ //@property (nonatomic, assign) BOOL showsIndoorLevelPicker;
64
+ //@property (nonatomic, assign) NSString *kmlSrc;
65
+
66
+ @property(nonatomic, readonly) CGPoint lastTapPixel;
67
+ @property(nonatomic, readonly) CGPoint lastPanPixel;
68
+ @property(nonatomic, readonly) CGPoint lastLongPressPixel;
69
+
70
+ - (void)willMove: (BOOL) gesture;
71
+ - (void)movingCameraPosition: (MFCameraPosition*) position;
72
+ - (void)didChangeCameraPosition: (MFCameraPosition*) position;
73
+ - (void)idleAtCameraPosition: (MFCameraPosition *) position;
74
+
75
+ - (void)didTapAtCoordinate:(CLLocationCoordinate2D)coordinate;
76
+ - (void)didTapPOIWithPlaceID:(NSString *)placeID name:(NSString *)name location:(CLLocationCoordinate2D)location;
77
+ - (void)didTapBuildingWithBuildingID:(NSString *)buildingID name:(NSString *)name location:(CLLocationCoordinate2D)location;
78
+ - (void)didTapPlaceWithName:(NSString*)name location:(CLLocationCoordinate2D)location;
79
+ - (void)didTapDataSourceFeature:(MFDataSourceFeature *)feature location:(CLLocationCoordinate2D)location;
80
+ - (BOOL)didTapMyLocationButton;
81
+
82
+ @end
83
+
84
+ #endif /* RMFMapView_h */