react-native-map4d-map-dtqg 0.1.3 → 0.1.5
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 +191 -133
- package/android/.gradle/8.9/checksums/checksums.lock +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.2.0/checksums/checksums.lock +0 -0
- package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.2.0/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- 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 +310 -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 -231
- 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 +16 -7
- package/ios/Map4dMap.m +119 -14
- package/ios/Map4dMapTurbo.mm +16 -0
- 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 +127 -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 +86 -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 +424 -509
- package/ios/RMFMarker.h +57 -57
- package/ios/RMFMarker.m +267 -267
- package/ios/RMFMarkerManager.h +17 -17
- package/ios/RMFMarkerManager.m +128 -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 +134 -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 +119 -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 +117 -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 +105 -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/constants.js +27 -0
- package/lib/commonjs/components/MFBanDoSo/constants.js.map +1 -0
- package/lib/commonjs/components/MFBanDoSo/helpers.js +200 -0
- package/lib/commonjs/components/MFBanDoSo/helpers.js.map +1 -0
- package/lib/commonjs/components/MFBanDoSo/propTypes.js +18 -0
- package/lib/commonjs/components/MFBanDoSo/propTypes.js.map +1 -0
- package/lib/commonjs/components/MFBanDoSo/styles.js +328 -0
- package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
- package/lib/commonjs/components/MFBanDoSo/ui.js +220 -0
- package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
- package/lib/commonjs/components/MFBanDoSo.js +190 -73
- package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
- package/lib/commonjs/components/MFBuilding.js +41 -98
- package/lib/commonjs/components/MFBuilding.js.map +1 -1
- package/lib/commonjs/components/MFCircle.js +40 -90
- package/lib/commonjs/components/MFCircle.js.map +1 -1
- package/lib/commonjs/components/MFDirectionsRenderer.js +47 -107
- package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/commonjs/components/MFMapView.js +119 -199
- package/lib/commonjs/components/MFMapView.js.map +1 -1
- package/lib/commonjs/components/MFMarker.js +50 -118
- package/lib/commonjs/components/MFMarker.js.map +1 -1
- package/lib/commonjs/components/MFPOI.js +37 -94
- package/lib/commonjs/components/MFPOI.js.map +1 -1
- package/lib/commonjs/components/MFPolygon.js +37 -91
- package/lib/commonjs/components/MFPolygon.js.map +1 -1
- package/lib/commonjs/components/MFPolyline.js +35 -87
- package/lib/commonjs/components/MFPolyline.js.map +1 -1
- package/lib/commonjs/components/MFTileOverlay.js +16 -24
- package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
- package/lib/commonjs/components/Map4dMapView.js +1 -4
- package/lib/commonjs/components/Map4dMapView.js.map +1 -1
- package/lib/commonjs/components/extends/AreaFocusManager.js +20 -54
- package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
- package/lib/commonjs/components/extends/AreaFocuser.js +3 -19
- package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
- package/lib/commonjs/components/extends/BoundHelper.js +0 -6
- package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
- package/lib/commonjs/components/extends/area/AreaFocusAreas.js +0 -37
- package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
- package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +1 -35
- package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
- package/lib/commonjs/components/extends/area/AreaFocusSession.js +0 -18
- package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
- package/lib/commonjs/components/extends/area/AreaFocusTypes.js +20 -21
- package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
- package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +1 -2
- package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
- package/lib/commonjs/components/internal/GeojsonStyleUtils.js +20 -31
- package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
- package/lib/commonjs/index.js +0 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native/Map4dMapNativeModule.js +10 -0
- package/lib/commonjs/native/Map4dMapNativeModule.js.map +1 -0
- package/lib/commonjs/native/NativeModuleResolver.js +35 -0
- package/lib/commonjs/native/NativeModuleResolver.js.map +1 -0
- package/lib/commonjs/native/ViewManagerCommand.js +67 -0
- package/lib/commonjs/native/ViewManagerCommand.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/NativeMap4dMap.js +9 -0
- package/lib/commonjs/specs/NativeMap4dMap.js.map +1 -0
- package/lib/module/components/MFBanDoSo/constants.js +22 -0
- package/lib/module/components/MFBanDoSo/constants.js.map +1 -0
- package/lib/module/components/MFBanDoSo/helpers.js +188 -0
- package/lib/module/components/MFBanDoSo/helpers.js.map +1 -0
- package/lib/module/components/MFBanDoSo/propTypes.js +14 -0
- package/lib/module/components/MFBanDoSo/propTypes.js.map +1 -0
- package/lib/module/components/MFBanDoSo/styles.js +325 -0
- package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
- package/lib/module/components/MFBanDoSo/ui.js +213 -0
- package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
- package/lib/module/components/MFBanDoSo.js +192 -63
- package/lib/module/components/MFBanDoSo.js.map +1 -1
- package/lib/module/components/MFBuilding.js +43 -90
- package/lib/module/components/MFBuilding.js.map +1 -1
- package/lib/module/components/MFCircle.js +42 -82
- package/lib/module/components/MFCircle.js.map +1 -1
- package/lib/module/components/MFDirectionsRenderer.js +48 -99
- package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
- package/lib/module/components/MFMapView.js +120 -188
- package/lib/module/components/MFMapView.js.map +1 -1
- package/lib/module/components/MFMarker.js +52 -109
- package/lib/module/components/MFMarker.js.map +1 -1
- package/lib/module/components/MFPOI.js +39 -86
- package/lib/module/components/MFPOI.js.map +1 -1
- package/lib/module/components/MFPolygon.js +39 -83
- package/lib/module/components/MFPolygon.js.map +1 -1
- package/lib/module/components/MFPolyline.js +37 -79
- package/lib/module/components/MFPolyline.js.map +1 -1
- package/lib/module/components/MFTileOverlay.js +19 -18
- package/lib/module/components/MFTileOverlay.js.map +1 -1
- package/lib/module/components/Map4dMapView.js +2 -0
- package/lib/module/components/Map4dMapView.js.map +1 -1
- package/lib/module/components/extends/AreaFocusManager.js +22 -48
- package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
- package/lib/module/components/extends/AreaFocuser.js +5 -17
- package/lib/module/components/extends/AreaFocuser.js.map +1 -1
- package/lib/module/components/extends/BoundHelper.js +2 -5
- package/lib/module/components/extends/BoundHelper.js.map +1 -1
- package/lib/module/components/extends/area/AreaFocusAreas.js +2 -33
- package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
- package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +2 -32
- package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
- package/lib/module/components/extends/area/AreaFocusSession.js +2 -17
- package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
- package/lib/module/components/extends/area/AreaFocusTypes.js +21 -18
- package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
- package/lib/module/components/internal/DefaultRoadmapStyle.js +2 -0
- package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
- package/lib/module/components/internal/GeojsonStyleUtils.js +21 -28
- package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/Map4dMapNativeModule.js +5 -0
- package/lib/module/native/Map4dMapNativeModule.js.map +1 -0
- package/lib/module/native/NativeModuleResolver.js +29 -0
- package/lib/module/native/NativeModuleResolver.js.map +1 -0
- package/lib/module/native/ViewManagerCommand.js +61 -0
- package/lib/module/native/ViewManagerCommand.js.map +1 -0
- package/lib/module/specs/NativeMap4dMap.js +5 -0
- package/lib/module/specs/NativeMap4dMap.js.map +1 -0
- package/lib/typescript/components/MFBanDoSo/constants.d.ts +8 -0
- package/lib/typescript/components/MFBanDoSo/constants.d.ts.map +1 -0
- package/lib/typescript/components/MFBanDoSo/helpers.d.ts +14 -0
- package/lib/typescript/components/MFBanDoSo/helpers.d.ts.map +1 -0
- package/lib/typescript/components/MFBanDoSo/propTypes.d.ts +2 -0
- package/lib/typescript/components/MFBanDoSo/propTypes.d.ts.map +1 -0
- package/lib/typescript/components/MFBanDoSo/styles.d.ts +462 -0
- package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
- package/lib/typescript/components/MFBanDoSo/ui.d.ts +30 -0
- package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
- package/lib/typescript/components/MFBanDoSo.d.ts +37 -0
- package/lib/typescript/components/MFBanDoSo.d.ts.map +1 -0
- package/lib/typescript/components/MFBuilding.d.ts +24 -0
- package/lib/typescript/components/MFBuilding.d.ts.map +1 -0
- package/lib/typescript/components/MFCircle.d.ts +24 -0
- package/lib/typescript/components/MFCircle.d.ts.map +1 -0
- package/lib/typescript/components/MFDirectionsRenderer.d.ts +19 -0
- package/lib/typescript/components/MFDirectionsRenderer.d.ts.map +1 -0
- package/lib/typescript/components/MFMapView.d.ts +66 -0
- package/lib/typescript/components/MFMapView.d.ts.map +1 -0
- package/lib/typescript/components/MFMarker.d.ts +26 -0
- package/lib/typescript/components/MFMarker.d.ts.map +1 -0
- package/lib/typescript/components/MFPOI.d.ts +24 -0
- package/lib/typescript/components/MFPOI.d.ts.map +1 -0
- package/lib/typescript/components/MFPolygon.d.ts +24 -0
- package/lib/typescript/components/MFPolygon.d.ts.map +1 -0
- package/lib/typescript/components/MFPolyline.d.ts +24 -0
- package/lib/typescript/components/MFPolyline.d.ts.map +1 -0
- package/lib/typescript/components/MFTileOverlay.d.ts +12 -0
- package/lib/typescript/components/MFTileOverlay.d.ts.map +1 -0
- package/lib/typescript/components/Map4dMapView.d.ts +2 -1
- package/lib/typescript/components/Map4dMapView.d.ts.map +1 -0
- package/lib/typescript/components/extends/AreaFocusManager.d.ts +34 -0
- package/lib/typescript/components/extends/AreaFocusManager.d.ts.map +1 -0
- package/lib/typescript/components/extends/AreaFocuser.d.ts +15 -0
- package/lib/typescript/components/extends/AreaFocuser.d.ts.map +1 -0
- package/lib/typescript/components/extends/BoundHelper.d.ts +11 -0
- package/lib/typescript/components/extends/BoundHelper.d.ts.map +1 -0
- package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts +58 -0
- package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts.map +1 -0
- package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts +19 -0
- package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts.map +1 -0
- package/lib/typescript/components/extends/area/AreaFocusSession.d.ts +14 -0
- package/lib/typescript/components/extends/area/AreaFocusSession.d.ts.map +1 -0
- package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts +40 -0
- package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts.map +1 -0
- package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts +820 -0
- package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts.map +1 -0
- package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts +3 -0
- package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +13 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/native/Map4dMapNativeModule.d.ts +2 -0
- package/lib/typescript/native/Map4dMapNativeModule.d.ts.map +1 -0
- package/lib/typescript/native/NativeModuleResolver.d.ts +3 -0
- package/lib/typescript/native/NativeModuleResolver.d.ts.map +1 -0
- package/lib/typescript/native/ViewManagerCommand.d.ts +11 -0
- package/lib/typescript/native/ViewManagerCommand.d.ts.map +1 -0
- package/package.json +168 -152
- package/react-native-map4d-map.podspec +20 -20
- package/src/components/MFBanDoSo/constants.js +32 -0
- package/src/components/MFBanDoSo/helpers.js +273 -0
- package/src/components/MFBanDoSo/propTypes.js +14 -0
- package/src/components/MFBanDoSo/styles.js +316 -0
- package/src/components/MFBanDoSo/ui.js +230 -0
- package/src/components/MFBanDoSo.js +314 -124
- package/src/components/MFBuilding.js +160 -187
- package/src/components/MFCircle.js +146 -173
- package/src/components/MFDirectionsRenderer.js +211 -237
- package/src/components/MFMapView.js +458 -464
- package/src/components/MFMarker.js +218 -246
- package/src/components/MFPOI.js +157 -184
- package/src/components/MFPolygon.js +159 -186
- package/src/components/MFPolyline.js +145 -172
- package/src/components/MFTileOverlay.js +45 -45
- package/src/components/Map4dMapView.tsx +26 -26
- package/src/components/extends/AreaFocusManager.js +196 -196
- package/src/components/extends/AreaFocuser.js +61 -61
- package/src/components/extends/BoundHelper.js +31 -31
- package/src/components/extends/area/AreaFocusAreas.js +164 -164
- package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -164
- package/src/components/extends/area/AreaFocusSession.js +100 -100
- package/src/components/extends/area/AreaFocusTypes.js +36 -36
- package/src/components/internal/DefaultRoadmapStyle.js +3365 -3365
- package/src/components/internal/GeojsonStyleUtils.js +146 -143
- package/src/index.js +25 -25
- package/src/native/Map4dMapNativeModule.js +3 -0
- package/src/native/NativeModuleResolver.js +33 -0
- package/src/native/ViewManagerCommand.js +82 -0
- package/src/specs/NativeMap4dMap.js +12 -0
- package/ios/Map4dMapViewManager.m +0 -34
package/ios/RMFMapViewManager.m
CHANGED
|
@@ -1,509 +1,424 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RMFMapViewManager.m
|
|
3
|
-
// Map4dMap
|
|
4
|
-
//
|
|
5
|
-
// Created by Huy Dang on 4/27/20.
|
|
6
|
-
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RMFMapViewManager.h"
|
|
10
|
-
#import "RMFMapView.h"
|
|
11
|
-
#import "RMFMarker.h"
|
|
12
|
-
#import "RMFCircle.h"
|
|
13
|
-
#import "RMFPolyline.h"
|
|
14
|
-
#import "RMFPolygon.h"
|
|
15
|
-
#import "RMFPOI.h"
|
|
16
|
-
#import "RMFBuilding.h"
|
|
17
|
-
#import "RMFDirectionsRenderer.h"
|
|
18
|
-
#import <Foundation/Foundation.h>
|
|
19
|
-
#import <React/RCTLog.h>
|
|
20
|
-
#import <React/RCTBridge.h>
|
|
21
|
-
#import <React/RCTUIManager.h>
|
|
22
|
-
#import <React/RCTConvert+CoreLocation.h>
|
|
23
|
-
#import "RCTConvert+Map4dMap.h"
|
|
24
|
-
#import "RMFEventResponse.h"
|
|
25
|
-
|
|
26
|
-
@interface RMFMapViewManager () <MFMapViewDelegate>
|
|
27
|
-
|
|
28
|
-
@end
|
|
29
|
-
|
|
30
|
-
@implementation RMFMapViewManager
|
|
31
|
-
|
|
32
|
-
RCT_EXPORT_MODULE(RMFMapView)
|
|
33
|
-
|
|
34
|
-
- (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
RCT_EXPORT_VIEW_PROPERTY(
|
|
73
|
-
RCT_EXPORT_VIEW_PROPERTY(
|
|
74
|
-
RCT_EXPORT_VIEW_PROPERTY(
|
|
75
|
-
RCT_EXPORT_VIEW_PROPERTY(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
CGPoint point = [mapView.projection pointForCoordinate:[RCTConvert CLLocationCoordinate2D:json]];
|
|
176
|
-
resolve([RMFEventResponse fromCGPoint:point]);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
{
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}];
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
RCT_EXPORT_METHOD(
|
|
199
|
-
withCamera:(id)json) {
|
|
200
|
-
[self
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
[
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
[
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
426
|
-
RMFPolygonMap4d * rPolygon = (RMFPolygonMap4d*) polygon;
|
|
427
|
-
[rPolygon.reactPolygon didTapAtPixel:map.lastTapPixel];
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
- (void)mapview:(MFMapView *)mapView didTapCircle:(MFCircle *)circle {
|
|
431
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
432
|
-
RMFCircleMap4d * rCircle = (RMFCircleMap4d*)circle;
|
|
433
|
-
[rCircle.reactCircle didTapAtPixel:map.lastTapPixel];
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
- (void)mapView: (MFMapView*) mapView willMove: (BOOL) gesture {
|
|
437
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
438
|
-
[reactMapView willMove:gesture];
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
- (void)mapView:(MFMapView *)mapView movingCameraPosition:(MFCameraPosition *)position {
|
|
442
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
443
|
-
[reactMapView movingCameraPosition:position];
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
//- (void)mapView:(MFMapView *)mapView didChangeCameraPosition:(MFCameraPosition *)position {
|
|
447
|
-
//}
|
|
448
|
-
|
|
449
|
-
- (void)mapView:(MFMapView *)mapView idleAtCameraPosition:(MFCameraPosition *)position {
|
|
450
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
451
|
-
[reactMapView idleAtCameraPosition:position];
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
- (void)mapView:(MFMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
455
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
456
|
-
[map didTapAtCoordinate:coordinate];
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
- (void)mapView:(MFMapView *)mapView didTapPOI:(MFPOI *)poi {
|
|
460
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
461
|
-
RMFPOIMap4d* rPOI = (RMFPOIMap4d*) poi;
|
|
462
|
-
[rPOI.reactPOI didTapAtPixel:map.lastTapPixel];
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
- (void)mapView:(MFMapView *)mapView didTapPOIWithPlaceID:(NSString *)placeID name:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
466
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
467
|
-
[reactMapView didTapPOIWithPlaceID:placeID name:name location:location];
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
- (void)mapView:(MFMapView *)mapView didTapBuilding:(MFBuilding *)building {
|
|
471
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
472
|
-
RMFBuildingMap4d *rBuilding = (RMFBuildingMap4d *) building;
|
|
473
|
-
[rBuilding.reactBuilding didTapAtPixel:map.lastTapPixel];
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
- (void)mapView:(MFMapView *)mapView didTapBuildingWithBuildingID:(NSString *)buildingID name:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
477
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
478
|
-
[reactMapView didTapBuildingWithBuildingID:buildingID name:name location:location];
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
- (void)mapView:(MFMapView *)mapView didTapPlaceWithName:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
482
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
483
|
-
[reactMapView didTapPlaceWithName:name location:location];
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
- (void)mapView:(MFMapView *)mapView didTapDataSourceFeature:(MFDataSourceFeature *)feature location:(CLLocationCoordinate2D)location {
|
|
487
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
488
|
-
[reactMapView didTapDataSourceFeature:feature location:location];
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
- (void)mapView:(MFMapView *)mapView didTapDirectionsRenderer:(MFDirectionsRenderer *)renderer routeIndex:(NSUInteger)routeIndex {
|
|
492
|
-
RMFMapView* map = (RMFMapView*)mapView;
|
|
493
|
-
RMFDirectionsRendererMap4d* rRenderer = (RMFDirectionsRendererMap4d*)renderer;
|
|
494
|
-
[rRenderer.reactRenderer didTapAtPixel:map.lastTapPixel withRouteIndex:routeIndex];
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
//- (void)mapView:(MFMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
|
|
498
|
-
//}
|
|
499
|
-
|
|
500
|
-
- (BOOL)didTapMyLocationButtonForMapView:(MFMapView *)mapView {
|
|
501
|
-
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
502
|
-
return [reactMapView didTapMyLocationButton];
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
- (UIView *)mapView:(MFMapView *)mapView markerInfoWindow:(MFMarker *)marker {
|
|
506
|
-
return nil;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// RMFMapViewManager.m
|
|
3
|
+
// Map4dMap
|
|
4
|
+
//
|
|
5
|
+
// Created by Huy Dang on 4/27/20.
|
|
6
|
+
// Copyright © 2020 IOTLink. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "RMFMapViewManager.h"
|
|
10
|
+
#import "RMFMapView.h"
|
|
11
|
+
#import "RMFMarker.h"
|
|
12
|
+
#import "RMFCircle.h"
|
|
13
|
+
#import "RMFPolyline.h"
|
|
14
|
+
#import "RMFPolygon.h"
|
|
15
|
+
#import "RMFPOI.h"
|
|
16
|
+
#import "RMFBuilding.h"
|
|
17
|
+
#import "RMFDirectionsRenderer.h"
|
|
18
|
+
#import <Foundation/Foundation.h>
|
|
19
|
+
#import <React/RCTLog.h>
|
|
20
|
+
#import <React/RCTBridge.h>
|
|
21
|
+
#import <React/RCTUIManager.h>
|
|
22
|
+
#import <React/RCTConvert+CoreLocation.h>
|
|
23
|
+
#import "RCTConvert+Map4dMap.h"
|
|
24
|
+
#import "RMFEventResponse.h"
|
|
25
|
+
|
|
26
|
+
@interface RMFMapViewManager () <MFMapViewDelegate>
|
|
27
|
+
|
|
28
|
+
@end
|
|
29
|
+
|
|
30
|
+
@implementation RMFMapViewManager
|
|
31
|
+
|
|
32
|
+
RCT_EXPORT_MODULE(RMFMapView)
|
|
33
|
+
|
|
34
|
+
- (void)withMapViewForTag:(nonnull NSNumber *)reactTag
|
|
35
|
+
rejecter:(RCTPromiseRejectBlock)reject
|
|
36
|
+
handler:(void (^)(RMFMapView *mapView))handler
|
|
37
|
+
{
|
|
38
|
+
RCTUIManager *uiManager = self.bridge.uiManager;
|
|
39
|
+
if (uiManager == nil) {
|
|
40
|
+
if (reject) {
|
|
41
|
+
reject(@"E_UI_MANAGER_UNAVAILABLE", @"UIManager is unavailable on iOS runtime", nil);
|
|
42
|
+
} else {
|
|
43
|
+
RCTLogError(@"UIManager is unavailable on iOS runtime");
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[uiManager addUIBlock:^(__unused RCTUIManager *manager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
49
|
+
id view = viewRegistry[reactTag];
|
|
50
|
+
if (![view isKindOfClass:[RMFMapView class]]) {
|
|
51
|
+
if (reject) {
|
|
52
|
+
reject(@"E_INVALID_VIEW", [NSString stringWithFormat:@"Invalid view returned from registry, expecting RMFMapView, got: %@", view], nil);
|
|
53
|
+
} else {
|
|
54
|
+
RCTLogError(@"Invalid view returned from registry, expecting RMFMapView, got: %@", view);
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
handler((RMFMapView *)view);
|
|
60
|
+
}];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (UIView *)view {
|
|
64
|
+
RMFMapView * rMap = [[RMFMapView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
|
|
65
|
+
// RMFMapView * rMap = [[RMFMapView alloc] init];
|
|
66
|
+
// [rMap setMyLocationEnabled:true];
|
|
67
|
+
rMap.delegate = self;
|
|
68
|
+
return rMap;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTBubblingEventBlock)
|
|
72
|
+
//RCT_EXPORT_VIEW_PROPERTY(onMapLoaded, RCTBubblingEventBlock)
|
|
73
|
+
//RCT_EXPORT_VIEW_PROPERTY(onKmlReady, RCTBubblingEventBlock)
|
|
74
|
+
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
75
|
+
//RCT_EXPORT_VIEW_PROPERTY(onLongPress, RCTBubblingEventBlock)
|
|
76
|
+
//RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTBubblingEventBlock)
|
|
77
|
+
//RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTBubblingEventBlock)
|
|
78
|
+
//RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
|
|
79
|
+
//RCT_EXPORT_VIEW_PROPERTY(onMarkerPress, RCTDirectEventBlock)
|
|
80
|
+
//RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
|
|
81
|
+
//RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
|
|
82
|
+
RCT_EXPORT_VIEW_PROPERTY(onPoiPress, RCTDirectEventBlock)
|
|
83
|
+
RCT_EXPORT_VIEW_PROPERTY(onBuildingPress, RCTDirectEventBlock)
|
|
84
|
+
RCT_EXPORT_VIEW_PROPERTY(onPlacePress, RCTDirectEventBlock)
|
|
85
|
+
RCT_EXPORT_VIEW_PROPERTY(onDataSourceFeaturePress, RCTDirectEventBlock)
|
|
86
|
+
//RCT_EXPORT_VIEW_PROPERTY(onIndoorLevelActivated, RCTDirectEventBlock)
|
|
87
|
+
//RCT_EXPORT_VIEW_PROPERTY(onIndoorBuildingFocused, RCTDirectEventBlock)
|
|
88
|
+
RCT_EXPORT_VIEW_PROPERTY(onCameraIdle, RCTDirectEventBlock)
|
|
89
|
+
RCT_EXPORT_VIEW_PROPERTY(onCameraMove, RCTDirectEventBlock)
|
|
90
|
+
RCT_EXPORT_VIEW_PROPERTY(onCameraMoveStart, RCTDirectEventBlock)
|
|
91
|
+
RCT_EXPORT_VIEW_PROPERTY(onMyLocationButtonPress, RCTDirectEventBlock)
|
|
92
|
+
|
|
93
|
+
RCT_REMAP_VIEW_PROPERTY(mapID, mapIdProp, NSString)
|
|
94
|
+
RCT_REMAP_VIEW_PROPERTY(camera, cameraProp, MFCameraPosition)
|
|
95
|
+
RCT_REMAP_VIEW_PROPERTY(mapType, mapTypeProp, NSString)
|
|
96
|
+
RCT_EXPORT_VIEW_PROPERTY(showsBuildings, BOOL)
|
|
97
|
+
RCT_EXPORT_VIEW_PROPERTY(showsPOIs, BOOL)
|
|
98
|
+
RCT_EXPORT_VIEW_PROPERTY(showsMyLocation, BOOL)
|
|
99
|
+
RCT_EXPORT_VIEW_PROPERTY(showsMyLocationButton, BOOL)
|
|
100
|
+
|
|
101
|
+
RCT_EXPORT_VIEW_PROPERTY(zoomGesturesEnabled, BOOL)
|
|
102
|
+
RCT_EXPORT_VIEW_PROPERTY(scrollGesturesEnabled, BOOL)
|
|
103
|
+
RCT_EXPORT_VIEW_PROPERTY(rotateGesturesEnabled, BOOL)
|
|
104
|
+
RCT_EXPORT_VIEW_PROPERTY(tiltGesturesEnabled, BOOL)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
RCT_EXPORT_METHOD(getCamera:(nonnull NSNumber *)reactTag
|
|
108
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
109
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
110
|
+
{
|
|
111
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
112
|
+
MFCameraPosition *camera = [mapView camera];
|
|
113
|
+
resolve([RMFEventResponse fromCameraPosition:camera]);
|
|
114
|
+
}];
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
RCT_EXPORT_METHOD(getBounds:(nonnull NSNumber *)reactTag
|
|
118
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
119
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
120
|
+
{
|
|
121
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
122
|
+
MFCoordinateBounds* bounds = [mapView getBounds];
|
|
123
|
+
resolve([RMFEventResponse fromCoordinateBounds:bounds]);
|
|
124
|
+
}];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
RCT_EXPORT_METHOD(cameraForBounds:(nonnull NSNumber *)reactTag
|
|
128
|
+
withData:(id)json
|
|
129
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
130
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
131
|
+
{
|
|
132
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
133
|
+
MFCameraPosition *camera = nil;
|
|
134
|
+
id data = [RCTConvert NSDictionary:json];
|
|
135
|
+
if (data[@"bounds"]) {
|
|
136
|
+
MFCoordinateBounds* bounds = [RCTConvert MFCoordinateBounds:data[@"bounds"]];
|
|
137
|
+
if (data[@"padding"]) {
|
|
138
|
+
UIEdgeInsets insets = [RCTConvert UIEdgeInsets:data[@"padding"]];
|
|
139
|
+
camera = [mapView cameraForBounds:bounds insets:insets];
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
camera = [mapView cameraForBounds:bounds];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
resolve([RMFEventResponse fromCameraPosition:camera]);
|
|
146
|
+
}];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
RCT_EXPORT_METHOD(fitBounds:(nonnull NSNumber *)reactTag
|
|
150
|
+
withData:(id)json)
|
|
151
|
+
{
|
|
152
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
153
|
+
MFCameraPosition* camera = nil;
|
|
154
|
+
id data = [RCTConvert NSDictionary:json];
|
|
155
|
+
if (data[@"bounds"]) {
|
|
156
|
+
MFCoordinateBounds* bounds = [RCTConvert MFCoordinateBounds:data[@"bounds"]];
|
|
157
|
+
if (data[@"padding"]) {
|
|
158
|
+
UIEdgeInsets insets = [RCTConvert UIEdgeInsets:data[@"padding"]];
|
|
159
|
+
camera = [mapView cameraForBounds:bounds insets:insets];
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
camera = [mapView cameraForBounds:bounds];
|
|
163
|
+
}
|
|
164
|
+
[mapView moveCamera:[MFCameraUpdate setCamera:camera]];
|
|
165
|
+
}
|
|
166
|
+
}];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
RCT_EXPORT_METHOD(pointForCoordinate:(nonnull NSNumber *)reactTag
|
|
170
|
+
withCoordinate:(id)json
|
|
171
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
172
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
173
|
+
{
|
|
174
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
175
|
+
CGPoint point = [mapView.projection pointForCoordinate:[RCTConvert CLLocationCoordinate2D:json]];
|
|
176
|
+
resolve([RMFEventResponse fromCGPoint:point]);
|
|
177
|
+
}];
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
RCT_EXPORT_METHOD(coordinateForPoint:(nonnull NSNumber *)reactTag
|
|
181
|
+
withPoint:(id)json
|
|
182
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
183
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
184
|
+
{
|
|
185
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
186
|
+
CLLocationCoordinate2D coordinate = [mapView.projection coordinateForPoint:[RCTConvert CGPoint:json]];
|
|
187
|
+
resolve([RMFEventResponse fromCoordinate:coordinate]);
|
|
188
|
+
}];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
RCT_EXPORT_METHOD(animateCamera:(nonnull NSNumber *)reactTag
|
|
192
|
+
withCamera:(id)json) {
|
|
193
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
194
|
+
[mapView animateCamera:[MFCameraUpdate setCamera:[RCTConvert MFCameraPosition:json withDefaultCamera:mapView.camera]]];
|
|
195
|
+
}];
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
RCT_EXPORT_METHOD(moveCamera:(nonnull NSNumber *)reactTag
|
|
199
|
+
withCamera:(id)json) {
|
|
200
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
201
|
+
[mapView moveCamera:[MFCameraUpdate setCamera:[RCTConvert MFCameraPosition:json withDefaultCamera:mapView.camera]]];
|
|
202
|
+
}];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
RCT_EXPORT_METHOD(showsMyLocationButton:(nonnull NSNumber *)reactTag
|
|
206
|
+
enable:(BOOL)enable) {
|
|
207
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
208
|
+
mapView.settings.myLocationButton = enable;
|
|
209
|
+
}];
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
RCT_EXPORT_METHOD(setMyLocationEnabled:(nonnull NSNumber *)reactTag
|
|
213
|
+
enable:(BOOL)enable) {
|
|
214
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
215
|
+
[mapView setMyLocationEnabled:enable];
|
|
216
|
+
}];
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
RCT_EXPORT_METHOD(getMyLocation:(nonnull NSNumber *)reactTag
|
|
220
|
+
resolver: (RCTPromiseResolveBlock)resolve
|
|
221
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
222
|
+
{
|
|
223
|
+
[self withMapViewForTag:reactTag rejecter:reject handler:^(RMFMapView *mapView) {
|
|
224
|
+
CLLocation *location = [mapView getMyLocation];
|
|
225
|
+
resolve([RMFEventResponse fromCLLocation:location]);
|
|
226
|
+
}];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
RCT_EXPORT_METHOD(setPOIsEnabled:(nonnull NSNumber *)reactTag
|
|
230
|
+
enable:(BOOL)enable) {
|
|
231
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
232
|
+
[mapView setPOIsEnabled:enable];
|
|
233
|
+
}];
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
RCT_EXPORT_METHOD(setTime:(nonnull NSNumber *)reactTag
|
|
237
|
+
withTime:(id)json) {
|
|
238
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
239
|
+
NSDate * date = [RCTConvert NSDate:json];
|
|
240
|
+
if (date) {
|
|
241
|
+
[mapView setTime:date];
|
|
242
|
+
}
|
|
243
|
+
}];
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
RCT_EXPORT_METHOD(setMapStyle:(nonnull NSNumber *)reactTag
|
|
247
|
+
withStyle:(NSString *)style) {
|
|
248
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
249
|
+
if (style.length > 0) {
|
|
250
|
+
MFMapStyle *mapStyle = [[MFMapStyle alloc] initWithJSONString:style];
|
|
251
|
+
[mapView setMapStyle:mapStyle];
|
|
252
|
+
}
|
|
253
|
+
}];
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
RCT_EXPORT_METHOD(setZoomGesturesEnabled:(nonnull NSNumber *)reactTag
|
|
258
|
+
enable:(BOOL)enable) {
|
|
259
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
260
|
+
mapView.settings.zoomGestures = enable;
|
|
261
|
+
}];
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
RCT_EXPORT_METHOD(setScrollGesturesEnabled:(nonnull NSNumber *)reactTag
|
|
265
|
+
enable:(BOOL)enable) {
|
|
266
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
267
|
+
mapView.settings.scrollGestures = enable;
|
|
268
|
+
}];
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
RCT_EXPORT_METHOD(setRotateGesturesEnabled:(nonnull NSNumber *)reactTag
|
|
272
|
+
enable:(BOOL)enable) {
|
|
273
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
274
|
+
mapView.settings.rotateGestures = enable;
|
|
275
|
+
}];
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
RCT_EXPORT_METHOD(setTiltGesturesEnabled:(nonnull NSNumber *)reactTag
|
|
279
|
+
enable:(BOOL)enable) {
|
|
280
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
281
|
+
mapView.settings.tiltGestures = enable;
|
|
282
|
+
}];
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
RCT_EXPORT_METHOD(setAllGesturesEnabled:(nonnull NSNumber *)reactTag
|
|
286
|
+
enable:(BOOL)enable) {
|
|
287
|
+
[self withMapViewForTag:reactTag rejecter:nil handler:^(RMFMapView *mapView) {
|
|
288
|
+
[mapView.settings setAllGesturesEnabled:enable];
|
|
289
|
+
}];
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
// Delegate
|
|
294
|
+
- (BOOL)mapview:(MFMapView *)mapView didTapMarker:(MFMarker *)marker {
|
|
295
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
296
|
+
|
|
297
|
+
RMFMarkerMap4d * rMarker = (RMFMarkerMap4d *) marker;
|
|
298
|
+
[rMarker.reactMarker didTapAtPixel:map.lastTapPixel];
|
|
299
|
+
return NO;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
- (void)mapview:(MFMapView *)mapView didBeginDraggingMarker:(MFMarker *)marker {
|
|
303
|
+
if ([marker isKindOfClass:[RMFMarkerMap4d class]]) {
|
|
304
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
305
|
+
RMFMarkerMap4d * rMarker = (RMFMarkerMap4d *) marker;
|
|
306
|
+
[rMarker.reactMarker didBeginDraggingMarkerAtPixel:map.lastLongPressPixel];
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
- (void)mapview:(MFMapView *)mapView didEndDraggingMarker:(MFMarker *)marker {
|
|
311
|
+
if ([marker isKindOfClass:[RMFMarkerMap4d class]]) {
|
|
312
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
313
|
+
RMFMarkerMap4d * rMarker = (RMFMarkerMap4d *) marker;
|
|
314
|
+
[rMarker.reactMarker didEndDraggingMarkerAtPixel:map.lastLongPressPixel];
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
- (void)mapview:(MFMapView *)mapView didDragMarker:(MFMarker *)marker {
|
|
319
|
+
if ([marker isKindOfClass:[RMFMarkerMap4d class]]) {
|
|
320
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
321
|
+
RMFMarkerMap4d * rMarker = (RMFMarkerMap4d *) marker;
|
|
322
|
+
[rMarker.reactMarker didDragMarkerAtPixel:map.lastPanPixel];
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
- (void)mapview:(MFMapView *)mapView didTapInfoWindowOfMarker:(MFMarker *)marker {
|
|
327
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
328
|
+
|
|
329
|
+
RMFMarkerMap4d * rMarker = (RMFMarkerMap4d *) marker;
|
|
330
|
+
[rMarker.reactMarker didTapInfoWindowAtPixel:map.lastTapPixel];
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
- (void)mapview:(MFMapView *)mapView didTapPolyline:(MFPolyline *)polyline {
|
|
334
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
335
|
+
RMFPolylineMap4d * rPolyline = (RMFPolylineMap4d *) polyline;
|
|
336
|
+
[rPolyline.reactPolyline didTapAtPixel:map.lastTapPixel];
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
- (void)mapview:(MFMapView *)mapView didTapPolygon:(MFPolygon *)polygon {
|
|
340
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
341
|
+
RMFPolygonMap4d * rPolygon = (RMFPolygonMap4d*) polygon;
|
|
342
|
+
[rPolygon.reactPolygon didTapAtPixel:map.lastTapPixel];
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
- (void)mapview:(MFMapView *)mapView didTapCircle:(MFCircle *)circle {
|
|
346
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
347
|
+
RMFCircleMap4d * rCircle = (RMFCircleMap4d*)circle;
|
|
348
|
+
[rCircle.reactCircle didTapAtPixel:map.lastTapPixel];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
- (void)mapView: (MFMapView*) mapView willMove: (BOOL) gesture {
|
|
352
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
353
|
+
[reactMapView willMove:gesture];
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
- (void)mapView:(MFMapView *)mapView movingCameraPosition:(MFCameraPosition *)position {
|
|
357
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
358
|
+
[reactMapView movingCameraPosition:position];
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
//- (void)mapView:(MFMapView *)mapView didChangeCameraPosition:(MFCameraPosition *)position {
|
|
362
|
+
//}
|
|
363
|
+
|
|
364
|
+
- (void)mapView:(MFMapView *)mapView idleAtCameraPosition:(MFCameraPosition *)position {
|
|
365
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
366
|
+
[reactMapView idleAtCameraPosition:position];
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
- (void)mapView:(MFMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate {
|
|
370
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
371
|
+
[map didTapAtCoordinate:coordinate];
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
- (void)mapView:(MFMapView *)mapView didTapPOI:(MFPOI *)poi {
|
|
375
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
376
|
+
RMFPOIMap4d* rPOI = (RMFPOIMap4d*) poi;
|
|
377
|
+
[rPOI.reactPOI didTapAtPixel:map.lastTapPixel];
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
- (void)mapView:(MFMapView *)mapView didTapPOIWithPlaceID:(NSString *)placeID name:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
381
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
382
|
+
[reactMapView didTapPOIWithPlaceID:placeID name:name location:location];
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
- (void)mapView:(MFMapView *)mapView didTapBuilding:(MFBuilding *)building {
|
|
386
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
387
|
+
RMFBuildingMap4d *rBuilding = (RMFBuildingMap4d *) building;
|
|
388
|
+
[rBuilding.reactBuilding didTapAtPixel:map.lastTapPixel];
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
- (void)mapView:(MFMapView *)mapView didTapBuildingWithBuildingID:(NSString *)buildingID name:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
392
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
393
|
+
[reactMapView didTapBuildingWithBuildingID:buildingID name:name location:location];
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
- (void)mapView:(MFMapView *)mapView didTapPlaceWithName:(NSString *)name location:(CLLocationCoordinate2D)location {
|
|
397
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
398
|
+
[reactMapView didTapPlaceWithName:name location:location];
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
- (void)mapView:(MFMapView *)mapView didTapDataSourceFeature:(MFDataSourceFeature *)feature location:(CLLocationCoordinate2D)location {
|
|
402
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
403
|
+
[reactMapView didTapDataSourceFeature:feature location:location];
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
- (void)mapView:(MFMapView *)mapView didTapDirectionsRenderer:(MFDirectionsRenderer *)renderer routeIndex:(NSUInteger)routeIndex {
|
|
407
|
+
RMFMapView* map = (RMFMapView*)mapView;
|
|
408
|
+
RMFDirectionsRendererMap4d* rRenderer = (RMFDirectionsRendererMap4d*)renderer;
|
|
409
|
+
[rRenderer.reactRenderer didTapAtPixel:map.lastTapPixel withRouteIndex:routeIndex];
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
//- (void)mapView:(MFMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
|
|
413
|
+
//}
|
|
414
|
+
|
|
415
|
+
- (BOOL)didTapMyLocationButtonForMapView:(MFMapView *)mapView {
|
|
416
|
+
RMFMapView* reactMapView = (RMFMapView*) mapView;
|
|
417
|
+
return [reactMapView didTapMyLocationButton];
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
- (UIView *)mapView:(MFMapView *)mapView markerInfoWindow:(MFMarker *)marker {
|
|
421
|
+
return nil;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
@end
|