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
|
@@ -4,33 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AreaFocusManager = void 0;
|
|
7
|
-
|
|
8
7
|
var _AreaFocusSession = require("./area/AreaFocusSession");
|
|
9
|
-
|
|
10
8
|
var _AreaFocusAreas = require("./area/AreaFocusAreas");
|
|
11
|
-
|
|
12
9
|
var _AreaFocusTypes = require("./area/AreaFocusTypes");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* @typedef {'normal' | 'highlight'} FocusDisplay
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {'normal' | 'highlight'} FocusDisplay
|
|
16
12
|
*/
|
|
17
13
|
|
|
18
|
-
/**
|
|
19
|
-
* @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding
|
|
20
16
|
*/
|
|
21
17
|
|
|
22
|
-
/**
|
|
23
|
-
* @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType
|
|
24
20
|
*/
|
|
25
21
|
|
|
26
|
-
/**
|
|
27
|
-
* @typedef {Object} FocusOptions
|
|
28
|
-
* @property {FocusType} type
|
|
29
|
-
* @property {number=} id
|
|
30
|
-
* @property {string=} name
|
|
31
|
-
* @property {FocusDisplay=} display
|
|
32
|
-
* @property {FocusPadding=} padding
|
|
22
|
+
/**
|
|
23
|
+
* @typedef {Object} FocusOptions
|
|
24
|
+
* @property {FocusType} type
|
|
25
|
+
* @property {number=} id
|
|
26
|
+
* @property {string=} name
|
|
27
|
+
* @property {FocusDisplay=} display
|
|
28
|
+
* @property {FocusPadding=} padding
|
|
33
29
|
*/
|
|
30
|
+
|
|
34
31
|
const VIETNAM_MAINLAND_BOUNDS = {
|
|
35
32
|
minLat: 8.18,
|
|
36
33
|
minLng: 102.14,
|
|
@@ -45,31 +42,25 @@ const FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE = {
|
|
|
45
42
|
nonTariffZone: _AreaFocusTypes.IndustrialEconomicType.NON_TARIFF_ZONE,
|
|
46
43
|
otherZoneModel: _AreaFocusTypes.IndustrialEconomicType.OTHER_ZONE_MODEL
|
|
47
44
|
};
|
|
48
|
-
|
|
49
45
|
class AreaFocusManager {
|
|
50
46
|
constructor(mapView) {
|
|
51
47
|
this.mapView = mapView;
|
|
52
48
|
this.currentSession = null;
|
|
53
49
|
}
|
|
54
|
-
|
|
55
50
|
async _focusArea(area, options) {
|
|
56
51
|
this.clear();
|
|
57
|
-
|
|
58
52
|
if (!area) {
|
|
59
53
|
return null;
|
|
60
54
|
}
|
|
61
|
-
|
|
62
55
|
try {
|
|
63
56
|
if (!(await area.load())) {
|
|
64
57
|
return null;
|
|
65
58
|
}
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
const focusOptions = {
|
|
60
|
+
...(options || {})
|
|
68
61
|
};
|
|
69
62
|
const bounds = area.getBounds() || VIETNAM_MAINLAND_BOUNDS;
|
|
70
|
-
|
|
71
63
|
this._fitBounds(bounds, focusOptions);
|
|
72
|
-
|
|
73
64
|
this.currentSession = new _AreaFocusSession.AreaFocusSession(this.mapView, area, focusOptions);
|
|
74
65
|
this.currentSession.render();
|
|
75
66
|
return this.currentSession;
|
|
@@ -78,17 +69,13 @@ class AreaFocusManager {
|
|
|
78
69
|
return null;
|
|
79
70
|
}
|
|
80
71
|
}
|
|
81
|
-
|
|
82
72
|
async _focusProvince(options) {
|
|
83
73
|
const provinceId = this._getProvinceId(options);
|
|
84
|
-
|
|
85
74
|
const provinceName = this._getProvinceName(options);
|
|
86
|
-
|
|
87
75
|
if (provinceId == null && !provinceName) {
|
|
88
76
|
this.clear();
|
|
89
77
|
return null;
|
|
90
78
|
}
|
|
91
|
-
|
|
92
79
|
const area = provinceId != null ? new _AreaFocusAreas.ProvinceArea(provinceId) : _AreaFocusAreas.ProvinceArea.fromName(provinceName);
|
|
93
80
|
const display = options && options.display === 'highlight' ? 'highlight' : 'normal';
|
|
94
81
|
return this._focusArea(area, {
|
|
@@ -96,66 +83,54 @@ class AreaFocusManager {
|
|
|
96
83
|
padding: options ? options.padding : undefined
|
|
97
84
|
});
|
|
98
85
|
}
|
|
99
|
-
/**
|
|
100
|
-
* @param {FocusOptions | null | undefined} focusOptions
|
|
101
|
-
* @returns {Promise<AreaFocusSession | null>}
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
86
|
|
|
87
|
+
/**
|
|
88
|
+
* @param {FocusOptions | null | undefined} focusOptions
|
|
89
|
+
* @returns {Promise<AreaFocusSession | null>}
|
|
90
|
+
*/
|
|
105
91
|
async focus(focusOptions) {
|
|
106
92
|
if (focusOptions == null) {
|
|
107
93
|
this.clear();
|
|
108
94
|
return null;
|
|
109
95
|
}
|
|
110
|
-
|
|
111
96
|
if (focusOptions.type === 'province') {
|
|
112
97
|
return this._focusProvince(focusOptions);
|
|
113
98
|
}
|
|
114
|
-
|
|
115
99
|
if (focusOptions.id == null) {
|
|
116
100
|
console.warn('Focus options must include an id for non-province types:', focusOptions);
|
|
117
101
|
this.clear();
|
|
118
102
|
return null;
|
|
119
103
|
}
|
|
120
|
-
|
|
121
104
|
const industrialEconomicType = this._getIndustrialEconomicType(focusOptions.type);
|
|
122
|
-
|
|
123
105
|
if (industrialEconomicType != null) {
|
|
124
106
|
return this._focusArea(new _AreaFocusAreas.IndustrialEconomicArea(industrialEconomicType, focusOptions.id), {
|
|
125
107
|
display: focusOptions.display,
|
|
126
108
|
padding: focusOptions.padding
|
|
127
109
|
});
|
|
128
110
|
}
|
|
129
|
-
|
|
130
111
|
console.warn('Unsupported focus type:', focusOptions.type);
|
|
131
112
|
return null;
|
|
132
113
|
}
|
|
133
|
-
|
|
134
114
|
_getIndustrialEconomicType(type) {
|
|
135
115
|
if (typeof type === 'number') {
|
|
136
116
|
const values = Object.values(_AreaFocusTypes.IndustrialEconomicType);
|
|
137
117
|
return values.includes(type) ? type : null;
|
|
138
118
|
}
|
|
139
|
-
|
|
140
119
|
if (typeof type !== 'string') {
|
|
141
120
|
return null;
|
|
142
121
|
}
|
|
143
|
-
|
|
144
122
|
return FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE[type] || null;
|
|
145
123
|
}
|
|
146
|
-
|
|
147
124
|
clear() {
|
|
148
125
|
if (this.currentSession) {
|
|
149
126
|
this.currentSession.destroy();
|
|
150
127
|
this.currentSession = null;
|
|
151
128
|
}
|
|
152
129
|
}
|
|
153
|
-
|
|
154
130
|
_fitBounds(bounds, options) {
|
|
155
131
|
if (!this.mapView || typeof this.mapView.fitBounds !== 'function' || !bounds) {
|
|
156
132
|
return;
|
|
157
133
|
}
|
|
158
|
-
|
|
159
134
|
this.mapView.fitBounds({
|
|
160
135
|
bounds: {
|
|
161
136
|
southWest: {
|
|
@@ -170,36 +145,27 @@ class AreaFocusManager {
|
|
|
170
145
|
padding: options ? options.padding : undefined
|
|
171
146
|
});
|
|
172
147
|
}
|
|
173
|
-
|
|
174
148
|
_getProvinceName(options) {
|
|
175
149
|
if (options == null || typeof options !== 'object') {
|
|
176
150
|
return null;
|
|
177
151
|
}
|
|
178
|
-
|
|
179
152
|
if (typeof options.name === 'string') {
|
|
180
153
|
const name = options.name.trim();
|
|
181
154
|
return name.length > 0 ? name : null;
|
|
182
155
|
}
|
|
183
|
-
|
|
184
156
|
const optionKeys = Object.keys(options);
|
|
185
157
|
const unsupportedKeys = optionKeys.filter(key => key !== 'type' && key !== 'id' && key !== 'name' && key !== 'display' && key !== 'padding');
|
|
186
|
-
|
|
187
158
|
if (unsupportedKeys.length > 0) {
|
|
188
159
|
console.warn(`[AreaFocusManager] focusProvince expects options like { type: 'province', name: 'Ha Noi', display: 'highlight' }. Unsupported keys: ${unsupportedKeys.join(', ')}`);
|
|
189
160
|
}
|
|
190
|
-
|
|
191
161
|
return null;
|
|
192
162
|
}
|
|
193
|
-
|
|
194
163
|
_getProvinceId(options) {
|
|
195
164
|
if (options == null || typeof options !== 'object') {
|
|
196
165
|
return null;
|
|
197
166
|
}
|
|
198
|
-
|
|
199
167
|
return typeof options.id === 'number' ? options.id : null;
|
|
200
168
|
}
|
|
201
|
-
|
|
202
169
|
}
|
|
203
|
-
|
|
204
170
|
exports.AreaFocusManager = AreaFocusManager;
|
|
205
171
|
//# sourceMappingURL=AreaFocusManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VIETNAM_MAINLAND_BOUNDS","minLat","minLng","maxLat","maxLng","FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE","industrialZone","IndustrialEconomicType","INDUSTRIAL_ZONE","economicZone","ECONOMIC_ZONE","ecoIndustrialZone","ECO_INDUSTRIAL_ZONE","freeTradeZone","FREE_TRADE_ZONE","nonTariffZone","NON_TARIFF_ZONE","otherZoneModel","OTHER_ZONE_MODEL","AreaFocusManager","constructor","mapView","currentSession","_focusArea","area","options","clear","load","focusOptions","bounds","getBounds","_fitBounds","AreaFocusSession","render","error","console","_focusProvince","provinceId","_getProvinceId","provinceName","_getProvinceName","ProvinceArea","fromName","display","padding","undefined","focus","type","id","warn","industrialEconomicType","_getIndustrialEconomicType","IndustrialEconomicArea","values","Object","includes","destroy","fitBounds","southWest","latitude","longitude","northEast","name","trim","length","optionKeys","keys","unsupportedKeys","filter","key","join"],"sources":["AreaFocusManager.js"],"sourcesContent":["import {AreaFocusSession} from './area/AreaFocusSession'\nimport {ProvinceArea, IndustrialEconomicArea} from './area/AreaFocusAreas'\nimport {IndustrialEconomicType} from './area/AreaFocusTypes'\n\n/**\n * @typedef {'normal' | 'highlight'} FocusDisplay\n */\n\n/**\n * @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding\n */\n\n/**\n * @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType\n */\n\n/**\n * @typedef {Object} FocusOptions\n * @property {FocusType} type\n * @property {number=} id\n * @property {string=} name\n * @property {FocusDisplay=} display\n * @property {FocusPadding=} padding\n */\n\nconst VIETNAM_MAINLAND_BOUNDS = {\n minLat: 8.18,\n minLng: 102.14,\n maxLat: 23.4,\n maxLng: 109.47,\n}\n\nconst FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE = {\n industrialZone: IndustrialEconomicType.INDUSTRIAL_ZONE,\n economicZone: IndustrialEconomicType.ECONOMIC_ZONE,\n ecoIndustrialZone: IndustrialEconomicType.ECO_INDUSTRIAL_ZONE,\n freeTradeZone: IndustrialEconomicType.FREE_TRADE_ZONE,\n nonTariffZone: IndustrialEconomicType.NON_TARIFF_ZONE,\n otherZoneModel: IndustrialEconomicType.OTHER_ZONE_MODEL,\n}\n\nexport class AreaFocusManager {\n constructor(mapView) {\n this.mapView = mapView\n this.currentSession = null\n }\n\n async _focusArea(area, options) {\n this.clear()\n\n if (!area) {\n return null\n }\n\n try {\n if (!(await area.load())) {\n return null\n }\n\n const focusOptions = {...(options || {})}\n const bounds = area.getBounds() || VIETNAM_MAINLAND_BOUNDS\n\n this._fitBounds(bounds, focusOptions)\n\n this.currentSession = new AreaFocusSession(this.mapView, area, focusOptions)\n this.currentSession.render()\n\n return this.currentSession\n }\n catch (error) {\n console.error('Cannot focus area:', error)\n return null\n }\n }\n\n async _focusProvince(options) {\n const provinceId = this._getProvinceId(options)\n const provinceName = this._getProvinceName(options)\n\n if (provinceId == null && !provinceName) {\n this.clear()\n return null\n }\n\n const area = provinceId != null ? new ProvinceArea(provinceId) : ProvinceArea.fromName(provinceName)\n const display = options && options.display === 'highlight' ? 'highlight' : 'normal'\n\n return this._focusArea(area, {\n display,\n padding: options ? options.padding : undefined,\n })\n }\n\n /**\n * @param {FocusOptions | null | undefined} focusOptions\n * @returns {Promise<AreaFocusSession | null>}\n */\n async focus(focusOptions) {\n if (focusOptions == null) {\n this.clear()\n return null\n }\n\n if (focusOptions.type === 'province') {\n return this._focusProvince(focusOptions)\n }\n\n if (focusOptions.id == null) {\n console.warn('Focus options must include an id for non-province types:', focusOptions)\n this.clear()\n return null\n }\n\n const industrialEconomicType = this._getIndustrialEconomicType(focusOptions.type)\n\n if (industrialEconomicType != null) {\n return this._focusArea(new IndustrialEconomicArea(industrialEconomicType, focusOptions.id), {\n display: focusOptions.display,\n padding: focusOptions.padding,\n })\n }\n\n console.warn('Unsupported focus type:', focusOptions.type)\n return null\n }\n\n _getIndustrialEconomicType(type) {\n if (typeof type === 'number') {\n const values = Object.values(IndustrialEconomicType)\n return values.includes(type) ? type : null\n }\n\n if (typeof type !== 'string') {\n return null\n }\n\n return FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE[type] || null\n }\n\n clear() {\n if (this.currentSession) {\n this.currentSession.destroy()\n this.currentSession = null\n }\n }\n\n _fitBounds(bounds, options) {\n if (!this.mapView || typeof this.mapView.fitBounds !== 'function' || !bounds) {\n return\n }\n\n this.mapView.fitBounds({\n bounds: {\n southWest: {\n latitude: bounds.minLat,\n longitude: bounds.minLng,\n },\n northEast: {\n latitude: bounds.maxLat,\n longitude: bounds.maxLng,\n },\n },\n padding: options ? options.padding : undefined,\n })\n }\n\n _getProvinceName(options) {\n if (options == null || typeof options !== 'object') {\n return null\n }\n\n if (typeof options.name === 'string') {\n const name = options.name.trim()\n return name.length > 0 ? name : null\n }\n\n const optionKeys = Object.keys(options)\n const unsupportedKeys = optionKeys.filter((key) => key !== 'type' && key !== 'id' && key !== 'name' && key !== 'display' && key !== 'padding')\n\n if (unsupportedKeys.length > 0) {\n console.warn(\n `[AreaFocusManager] focusProvince expects options like { type: 'province', name: 'Ha Noi', display: 'highlight' }. Unsupported keys: ${unsupportedKeys.join(', ')}`\n )\n }\n\n return null\n }\n\n _getProvinceId(options) {\n if (options == null || typeof options !== 'object') {\n return null\n }\n\n return typeof options.id === 'number' ? options.id : null\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMA,uBAAuB,GAAG;EAC9BC,MAAM,EAAE,IADsB;EAE9BC,MAAM,EAAE,MAFsB;EAG9BC,MAAM,EAAE,IAHsB;EAI9BC,MAAM,EAAE;AAJsB,CAAhC;AAOA,MAAMC,sCAAsC,GAAG;EAC7CC,cAAc,EAAEC,sCAAA,CAAuBC,eADM;EAE7CC,YAAY,EAAEF,sCAAA,CAAuBG,aAFQ;EAG7CC,iBAAiB,EAAEJ,sCAAA,CAAuBK,mBAHG;EAI7CC,aAAa,EAAEN,sCAAA,CAAuBO,eAJO;EAK7CC,aAAa,EAAER,sCAAA,CAAuBS,eALO;EAM7CC,cAAc,EAAEV,sCAAA,CAAuBW;AANM,CAA/C;;AASO,MAAMC,gBAAN,CAAuB;EAC5BC,WAAW,CAACC,OAAD,EAAU;IACnB,KAAKA,OAAL,GAAeA,OAAf;IACA,KAAKC,cAAL,GAAsB,IAAtB;EACD;;EAEe,MAAVC,UAAU,CAACC,IAAD,EAAOC,OAAP,EAAgB;IAC9B,KAAKC,KAAL;;IAEA,IAAI,CAACF,IAAL,EAAW;MACT,OAAO,IAAP;IACD;;IAED,IAAI;MACF,IAAI,EAAE,MAAMA,IAAI,CAACG,IAAL,EAAR,CAAJ,EAA0B;QACxB,OAAO,IAAP;MACD;;MAED,MAAMC,YAAY,GAAG,EAAC,IAAIH,OAAO,IAAI,EAAf;MAAD,CAArB;MACA,MAAMI,MAAM,GAAGL,IAAI,CAACM,SAAL,MAAoB9B,uBAAnC;;MAEA,KAAK+B,UAAL,CAAgBF,MAAhB,EAAwBD,YAAxB;;MAEA,KAAKN,cAAL,GAAsB,IAAIU,kCAAJ,CAAqB,KAAKX,OAA1B,EAAmCG,IAAnC,EAAyCI,YAAzC,CAAtB;MACA,KAAKN,cAAL,CAAoBW,MAApB;MAEA,OAAO,KAAKX,cAAZ;IACD,CAdD,CAeA,OAAOY,KAAP,EAAc;MACZC,OAAO,CAACD,KAAR,CAAc,oBAAd,EAAoCA,KAApC;MACA,OAAO,IAAP;IACD;EACF;;EAEmB,MAAdE,cAAc,CAACX,OAAD,EAAU;IAC5B,MAAMY,UAAU,GAAG,KAAKC,cAAL,CAAoBb,OAApB,CAAnB;;IACA,MAAMc,YAAY,GAAG,KAAKC,gBAAL,CAAsBf,OAAtB,CAArB;;IAEA,IAAIY,UAAU,IAAI,IAAd,IAAsB,CAACE,YAA3B,EAAyC;MACvC,KAAKb,KAAL;MACA,OAAO,IAAP;IACD;;IAED,MAAMF,IAAI,GAAGa,UAAU,IAAI,IAAd,GAAqB,IAAII,4BAAJ,CAAiBJ,UAAjB,CAArB,GAAoDI,4BAAA,CAAaC,QAAb,CAAsBH,YAAtB,CAAjE;IACA,MAAMI,OAAO,GAAGlB,OAAO,IAAIA,OAAO,CAACkB,OAAR,KAAoB,WAA/B,GAA6C,WAA7C,GAA2D,QAA3E;IAEA,OAAO,KAAKpB,UAAL,CAAgBC,IAAhB,EAAsB;MAC3BmB,OAD2B;MAE3BC,OAAO,EAAEnB,OAAO,GAAGA,OAAO,CAACmB,OAAX,GAAqBC;IAFV,CAAtB,CAAP;EAID;EAED;AACF;AACA;AACA;;;EACa,MAALC,KAAK,CAAClB,YAAD,EAAe;IACxB,IAAIA,YAAY,IAAI,IAApB,EAA0B;MACxB,KAAKF,KAAL;MACA,OAAO,IAAP;IACD;;IAED,IAAIE,YAAY,CAACmB,IAAb,KAAsB,UAA1B,EAAsC;MACpC,OAAO,KAAKX,cAAL,CAAoBR,YAApB,CAAP;IACD;;IAED,IAAIA,YAAY,CAACoB,EAAb,IAAmB,IAAvB,EAA6B;MAC3Bb,OAAO,CAACc,IAAR,CAAa,0DAAb,EAAyErB,YAAzE;MACA,KAAKF,KAAL;MACA,OAAO,IAAP;IACD;;IAED,MAAMwB,sBAAsB,GAAG,KAAKC,0BAAL,CAAgCvB,YAAY,CAACmB,IAA7C,CAA/B;;IAEA,IAAIG,sBAAsB,IAAI,IAA9B,EAAoC;MAClC,OAAO,KAAK3B,UAAL,CAAgB,IAAI6B,sCAAJ,CAA2BF,sBAA3B,EAAmDtB,YAAY,CAACoB,EAAhE,CAAhB,EAAqF;QAC1FL,OAAO,EAAEf,YAAY,CAACe,OADoE;QAE1FC,OAAO,EAAEhB,YAAY,CAACgB;MAFoE,CAArF,CAAP;IAID;;IAEDT,OAAO,CAACc,IAAR,CAAa,yBAAb,EAAwCrB,YAAY,CAACmB,IAArD;IACA,OAAO,IAAP;EACD;;EAEDI,0BAA0B,CAACJ,IAAD,EAAO;IAC/B,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;MAC5B,MAAMM,MAAM,GAAGC,MAAM,CAACD,MAAP,CAAc9C,sCAAd,CAAf;MACA,OAAO8C,MAAM,CAACE,QAAP,CAAgBR,IAAhB,IAAwBA,IAAxB,GAA+B,IAAtC;IACD;;IAED,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;MAC5B,OAAO,IAAP;IACD;;IAED,OAAO1C,sCAAsC,CAAC0C,IAAD,CAAtC,IAAgD,IAAvD;EACD;;EAEDrB,KAAK,GAAG;IACN,IAAI,KAAKJ,cAAT,EAAyB;MACvB,KAAKA,cAAL,CAAoBkC,OAApB;MACA,KAAKlC,cAAL,GAAsB,IAAtB;IACD;EACF;;EAEDS,UAAU,CAACF,MAAD,EAASJ,OAAT,EAAkB;IAC1B,IAAI,CAAC,KAAKJ,OAAN,IAAiB,OAAO,KAAKA,OAAL,CAAaoC,SAApB,KAAkC,UAAnD,IAAiE,CAAC5B,MAAtE,EAA8E;MAC5E;IACD;;IAED,KAAKR,OAAL,CAAaoC,SAAb,CAAuB;MACrB5B,MAAM,EAAE;QACN6B,SAAS,EAAE;UACTC,QAAQ,EAAE9B,MAAM,CAAC5B,MADR;UAET2D,SAAS,EAAE/B,MAAM,CAAC3B;QAFT,CADL;QAKN2D,SAAS,EAAE;UACTF,QAAQ,EAAE9B,MAAM,CAAC1B,MADR;UAETyD,SAAS,EAAE/B,MAAM,CAACzB;QAFT;MALL,CADa;MAWrBwC,OAAO,EAAEnB,OAAO,GAAGA,OAAO,CAACmB,OAAX,GAAqBC;IAXhB,CAAvB;EAaD;;EAEDL,gBAAgB,CAACf,OAAD,EAAU;IACxB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,IAAP;IACD;;IAED,IAAI,OAAOA,OAAO,CAACqC,IAAf,KAAwB,QAA5B,EAAsC;MACpC,MAAMA,IAAI,GAAGrC,OAAO,CAACqC,IAAR,CAAaC,IAAb,EAAb;MACA,OAAOD,IAAI,CAACE,MAAL,GAAc,CAAd,GAAkBF,IAAlB,GAAyB,IAAhC;IACD;;IAED,MAAMG,UAAU,GAAGX,MAAM,CAACY,IAAP,CAAYzC,OAAZ,CAAnB;IACA,MAAM0C,eAAe,GAAGF,UAAU,CAACG,MAAX,CAAmBC,GAAD,IAASA,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,IAA1B,IAAkCA,GAAG,KAAK,MAA1C,IAAoDA,GAAG,KAAK,SAA5D,IAAyEA,GAAG,KAAK,SAA5G,CAAxB;;IAEA,IAAIF,eAAe,CAACH,MAAhB,GAAyB,CAA7B,EAAgC;MAC9B7B,OAAO,CAACc,IAAR,CACG,uIAAsIkB,eAAe,CAACG,IAAhB,CAAqB,IAArB,CAA2B,EADpK;IAGD;;IAED,OAAO,IAAP;EACD;;EAEDhC,cAAc,CAACb,OAAD,EAAU;IACtB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,IAAP;IACD;;IAED,OAAO,OAAOA,OAAO,CAACuB,EAAf,KAAsB,QAAtB,GAAiCvB,OAAO,CAACuB,EAAzC,GAA8C,IAArD;EACD;;AAzJ2B"}
|
|
1
|
+
{"version":3,"names":["_AreaFocusSession","require","_AreaFocusAreas","_AreaFocusTypes","VIETNAM_MAINLAND_BOUNDS","minLat","minLng","maxLat","maxLng","FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE","industrialZone","IndustrialEconomicType","INDUSTRIAL_ZONE","economicZone","ECONOMIC_ZONE","ecoIndustrialZone","ECO_INDUSTRIAL_ZONE","freeTradeZone","FREE_TRADE_ZONE","nonTariffZone","NON_TARIFF_ZONE","otherZoneModel","OTHER_ZONE_MODEL","AreaFocusManager","constructor","mapView","currentSession","_focusArea","area","options","clear","load","focusOptions","bounds","getBounds","_fitBounds","AreaFocusSession","render","error","console","_focusProvince","provinceId","_getProvinceId","provinceName","_getProvinceName","ProvinceArea","fromName","display","padding","undefined","focus","type","id","warn","industrialEconomicType","_getIndustrialEconomicType","IndustrialEconomicArea","values","Object","includes","destroy","fitBounds","southWest","latitude","longitude","northEast","name","trim","length","optionKeys","keys","unsupportedKeys","filter","key","join","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/AreaFocusManager.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,27 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AreaFocuser = void 0;
|
|
7
|
-
|
|
8
7
|
class AreaFocuser {
|
|
9
8
|
constructor(areaFocusManager) {
|
|
10
9
|
this._areaFocusManager = areaFocusManager;
|
|
11
10
|
}
|
|
12
|
-
/**
|
|
13
|
-
* @param {{name?: string, highlight?: boolean}=} options
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
11
|
|
|
12
|
+
/**
|
|
13
|
+
* @param {{name?: string, highlight?: boolean}=} options
|
|
14
|
+
*/
|
|
17
15
|
async focusProvince(options) {
|
|
18
16
|
const provinceName = this._getProvinceName(options);
|
|
19
|
-
|
|
20
17
|
const shouldHighlight = this._shouldHighlight(options);
|
|
21
|
-
|
|
22
18
|
if (!provinceName) {
|
|
23
19
|
this._clear();
|
|
24
|
-
|
|
25
20
|
return;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
if (this._areaFocusManager) {
|
|
29
23
|
await this._areaFocusManager.focus({
|
|
30
24
|
type: 'province',
|
|
@@ -33,41 +27,31 @@ class AreaFocuser {
|
|
|
33
27
|
});
|
|
34
28
|
}
|
|
35
29
|
}
|
|
36
|
-
|
|
37
30
|
_clear() {
|
|
38
31
|
if (this._areaFocusManager) {
|
|
39
32
|
this._areaFocusManager.clear();
|
|
40
33
|
}
|
|
41
34
|
}
|
|
42
|
-
|
|
43
35
|
_getProvinceName(options) {
|
|
44
36
|
if (options == null || typeof options !== 'object') {
|
|
45
37
|
return null;
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
if (typeof options.name === 'string') {
|
|
49
40
|
return options.name.trim();
|
|
50
41
|
}
|
|
51
|
-
|
|
52
42
|
const optionKeys = Object.keys(options);
|
|
53
43
|
const unsupportedKeys = optionKeys.filter(key => key !== 'name' && key !== 'highlight');
|
|
54
|
-
|
|
55
44
|
if (unsupportedKeys.length > 0) {
|
|
56
45
|
console.warn(`[AreaFocuser] focusProvince expects options like { name: 'Ha Noi', highlight: true }. Unsupported keys: ${unsupportedKeys.join(', ')}`);
|
|
57
46
|
}
|
|
58
|
-
|
|
59
47
|
return null;
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
_shouldHighlight(options) {
|
|
63
50
|
if (options == null || typeof options !== 'object') {
|
|
64
51
|
return false;
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
return options.highlight === true;
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
}
|
|
71
|
-
|
|
72
56
|
exports.AreaFocuser = AreaFocuser;
|
|
73
57
|
//# sourceMappingURL=AreaFocuser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AreaFocuser","constructor","areaFocusManager","_areaFocusManager","focusProvince","options","provinceName","_getProvinceName","shouldHighlight","_shouldHighlight","_clear","focus","type","name","display","clear","trim","optionKeys","Object","keys","unsupportedKeys","filter","key","length","console","warn","join","highlight"],"
|
|
1
|
+
{"version":3,"names":["AreaFocuser","constructor","areaFocusManager","_areaFocusManager","focusProvince","options","provinceName","_getProvinceName","shouldHighlight","_shouldHighlight","_clear","focus","type","name","display","clear","trim","optionKeys","Object","keys","unsupportedKeys","filter","key","length","console","warn","join","highlight","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/AreaFocuser.js"],"mappings":";;;;;;AAAO,MAAMA,WAAW,CAAC;EAEvBC,WAAWA,CAACC,gBAAgB,EAAE;IAC5B,IAAI,CAACC,iBAAiB,GAAGD,gBAAgB;EAC3C;;EAEA;AACF;AACA;EACE,MAAME,aAAaA,CAACC,OAAO,EAAE;IAC3B,MAAMC,YAAY,GAAG,IAAI,CAACC,gBAAgB,CAACF,OAAO,CAAC;IACnD,MAAMG,eAAe,GAAG,IAAI,CAACC,gBAAgB,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACC,YAAY,EAAE;MACjB,IAAI,CAACI,MAAM,CAAC,CAAC;MACb;IACF;IAEA,IAAI,IAAI,CAACP,iBAAiB,EAAE;MAC1B,MAAM,IAAI,CAACA,iBAAiB,CAACQ,KAAK,CAAC;QACjCC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAEP,YAAY;QAClBQ,OAAO,EAAEN,eAAe,GAAG,WAAW,GAAG;MAC3C,CAAC,CAAC;IACJ;EACF;EAEAE,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACP,iBAAiB,EAAE;MAC1B,IAAI,CAACA,iBAAiB,CAACY,KAAK,CAAC,CAAC;IAChC;EACF;EAEAR,gBAAgBA,CAACF,OAAO,EAAE;IACxB,IAAIA,OAAO,IAAI,IAAI,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAClD,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,OAAO,CAACQ,IAAI,KAAK,QAAQ,EAAE;MACpC,OAAOR,OAAO,CAACQ,IAAI,CAACG,IAAI,CAAC,CAAC;IAC5B;IAEA,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACd,OAAO,CAAC;IACvC,MAAMe,eAAe,GAAGH,UAAU,CAACI,MAAM,CAAEC,GAAG,IAAKA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,WAAW,CAAC;IAEzF,IAAIF,eAAe,CAACG,MAAM,GAAG,CAAC,EAAE;MAC9BC,OAAO,CAACC,IAAI,CACV,2GAA2GL,eAAe,CAACM,IAAI,CAAC,IAAI,CAAC,EACvI,CAAC;IACH;IAEA,OAAO,IAAI;EACb;EAEAjB,gBAAgBA,CAACJ,OAAO,EAAE;IACxB,IAAIA,OAAO,IAAI,IAAI,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAClD,OAAO,KAAK;IACd;IAEA,OAAOA,OAAO,CAACsB,SAAS,KAAK,IAAI;EACnC;AACF;AAACC,OAAA,CAAA5B,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BoundHelper = void 0;
|
|
7
|
-
|
|
8
7
|
class BoundHelper {
|
|
9
8
|
static createEmptyBounds() {
|
|
10
9
|
return {
|
|
@@ -14,23 +13,18 @@ class BoundHelper {
|
|
|
14
13
|
maxLng: -Infinity
|
|
15
14
|
};
|
|
16
15
|
}
|
|
17
|
-
|
|
18
16
|
static updateBounds(bounds, lat, lng) {
|
|
19
17
|
bounds.minLat = Math.min(bounds.minLat, lat);
|
|
20
18
|
bounds.minLng = Math.min(bounds.minLng, lng);
|
|
21
19
|
bounds.maxLat = Math.max(bounds.maxLat, lat);
|
|
22
20
|
bounds.maxLng = Math.max(bounds.maxLng, lng);
|
|
23
21
|
}
|
|
24
|
-
|
|
25
22
|
static isValidBounds(bounds) {
|
|
26
23
|
if (!bounds) {
|
|
27
24
|
return false;
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
return !(bounds.minLat === Infinity || bounds.minLng === Infinity || bounds.maxLat === -Infinity || bounds.maxLng === -Infinity);
|
|
31
27
|
}
|
|
32
|
-
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
exports.BoundHelper = BoundHelper;
|
|
36
30
|
//# sourceMappingURL=BoundHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BoundHelper","createEmptyBounds","minLat","Infinity","minLng","maxLat","maxLng","updateBounds","bounds","lat","lng","Math","min","max","isValidBounds"],"
|
|
1
|
+
{"version":3,"names":["BoundHelper","createEmptyBounds","minLat","Infinity","minLng","maxLat","maxLng","updateBounds","bounds","lat","lng","Math","min","max","isValidBounds","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/BoundHelper.js"],"mappings":";;;;;;AAAA,MAAMA,WAAW,CAAC;EAChB,OAAOC,iBAAiBA,CAAA,EAAG;IACzB,OAAO;MACLC,MAAM,EAAEC,QAAQ;MAChBC,MAAM,EAAED,QAAQ;MAChBE,MAAM,EAAE,CAACF,QAAQ;MACjBG,MAAM,EAAE,CAACH;IACX,CAAC;EACH;EAEA,OAAOI,YAAYA,CAACC,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAE;IACpCF,MAAM,CAACN,MAAM,GAAGS,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACN,MAAM,EAAEO,GAAG,CAAC;IAC5CD,MAAM,CAACJ,MAAM,GAAGO,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACJ,MAAM,EAAEM,GAAG,CAAC;IAC5CF,MAAM,CAACH,MAAM,GAAGM,IAAI,CAACE,GAAG,CAACL,MAAM,CAACH,MAAM,EAAEI,GAAG,CAAC;IAC5CD,MAAM,CAACF,MAAM,GAAGK,IAAI,CAACE,GAAG,CAACL,MAAM,CAACF,MAAM,EAAEI,GAAG,CAAC;EAC9C;EAEA,OAAOI,aAAaA,CAACN,MAAM,EAAE;IAC3B,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,KAAK;IACd;IAEA,OAAO,EACLA,MAAM,CAACN,MAAM,KAAKC,QAAQ,IAC1BK,MAAM,CAACJ,MAAM,KAAKD,QAAQ,IAC1BK,MAAM,CAACH,MAAM,KAAK,CAACF,QAAQ,IAC3BK,MAAM,CAACF,MAAM,KAAK,CAACH,QAAQ,CAC5B;EACH;AACF;AAACY,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ProvinceArea = exports.IndustrialEconomicArea = void 0;
|
|
7
|
-
|
|
8
7
|
var _AreaFocusGeometryUtils = require("./AreaFocusGeometryUtils");
|
|
9
|
-
|
|
10
8
|
var _AreaFocusTypes = require("./AreaFocusTypes");
|
|
11
|
-
|
|
12
9
|
const INDUSTRIAL_ECONOMIC_PATH_BY_TYPE = {
|
|
13
10
|
[_AreaFocusTypes.IndustrialEconomicType.INDUSTRIAL_ZONE]: 'khu-cong-nghiep',
|
|
14
11
|
[_AreaFocusTypes.IndustrialEconomicType.ECONOMIC_ZONE]: 'khu-kinh-te',
|
|
@@ -18,7 +15,6 @@ const INDUSTRIAL_ECONOMIC_PATH_BY_TYPE = {
|
|
|
18
15
|
[_AreaFocusTypes.IndustrialEconomicType.OTHER_ZONE_MODEL]: 'mo-hinh-khu-khac'
|
|
19
16
|
};
|
|
20
17
|
const BDS_API_BASE_URL = 'https://cmcdtqg-gateway.dieuhanhso.vn/staging';
|
|
21
|
-
|
|
22
18
|
class ProvinceArea {
|
|
23
19
|
constructor(id) {
|
|
24
20
|
this.id = id;
|
|
@@ -27,47 +23,36 @@ class ProvinceArea {
|
|
|
27
23
|
this.geometryData = null;
|
|
28
24
|
this.bounds = null;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
static fromName(name) {
|
|
32
27
|
const area = new ProvinceArea(null);
|
|
33
28
|
area.name = name;
|
|
34
29
|
return area;
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
async load() {
|
|
38
32
|
if (this.loaded) {
|
|
39
33
|
return true;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
const hasValidId = typeof this.id === 'number';
|
|
43
36
|
const hasValidName = typeof this.name === 'string' && this.name.trim() !== '';
|
|
44
|
-
|
|
45
37
|
if (!hasValidId && !hasValidName) {
|
|
46
38
|
return false;
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
const normalizedName = hasValidName ? this.name.trim() : null;
|
|
50
41
|
const url = hasValidId ? `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/${this.id}/geometry` : `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/geometry?ten=${encodeURIComponent(normalizedName)}`;
|
|
51
42
|
const response = await fetch(url);
|
|
52
|
-
|
|
53
43
|
if (!response.ok) {
|
|
54
44
|
return false;
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
const data = await response.json();
|
|
58
|
-
|
|
59
47
|
if (!data.success) {
|
|
60
48
|
console.error('Fetch province area data failed:', data.message);
|
|
61
49
|
return false;
|
|
62
50
|
}
|
|
63
|
-
|
|
64
51
|
const areaData = data.data;
|
|
65
52
|
const geometry = areaData && areaData.geometry ? areaData.geometry : null;
|
|
66
|
-
|
|
67
53
|
if (!geometry) {
|
|
68
54
|
return false;
|
|
69
55
|
}
|
|
70
|
-
|
|
71
56
|
this.geometryData = {
|
|
72
57
|
name: areaData && areaData.name ? areaData.name : normalizedName,
|
|
73
58
|
geometry
|
|
@@ -76,23 +61,17 @@ class ProvinceArea {
|
|
|
76
61
|
this.loaded = true;
|
|
77
62
|
return true;
|
|
78
63
|
}
|
|
79
|
-
|
|
80
64
|
getGeometryData() {
|
|
81
65
|
return this.geometryData;
|
|
82
66
|
}
|
|
83
|
-
|
|
84
67
|
getBounds() {
|
|
85
68
|
return this.bounds;
|
|
86
69
|
}
|
|
87
|
-
|
|
88
70
|
getId() {
|
|
89
71
|
return this.id != null ? this.id : `province-${this.name || 'unknown'}`;
|
|
90
72
|
}
|
|
91
|
-
|
|
92
73
|
}
|
|
93
|
-
|
|
94
74
|
exports.ProvinceArea = ProvinceArea;
|
|
95
|
-
|
|
96
75
|
class IndustrialEconomicArea {
|
|
97
76
|
constructor(type, id) {
|
|
98
77
|
this.type = type;
|
|
@@ -101,45 +80,34 @@ class IndustrialEconomicArea {
|
|
|
101
80
|
this.geometryData = null;
|
|
102
81
|
this.bounds = null;
|
|
103
82
|
}
|
|
104
|
-
|
|
105
83
|
async load() {
|
|
106
84
|
if (this.loaded) {
|
|
107
85
|
return true;
|
|
108
86
|
}
|
|
109
|
-
|
|
110
87
|
if (typeof this.id !== 'number') {
|
|
111
88
|
return false;
|
|
112
89
|
}
|
|
113
|
-
|
|
114
90
|
const pathSegment = INDUSTRIAL_ECONOMIC_PATH_BY_TYPE[this.type];
|
|
115
|
-
|
|
116
91
|
if (!pathSegment) {
|
|
117
92
|
console.error('Unsupported industrial/economic area type:', this.type);
|
|
118
93
|
return false;
|
|
119
94
|
}
|
|
120
|
-
|
|
121
95
|
const url = `${BDS_API_BASE_URL}/bds/api/kcnkkt/${pathSegment}/${this.id}/geometry`;
|
|
122
96
|
const response = await fetch(url);
|
|
123
|
-
|
|
124
97
|
if (!response.ok) {
|
|
125
98
|
console.error('Failed to fetch industrial zone data:', response.status, response.statusText);
|
|
126
99
|
return false;
|
|
127
100
|
}
|
|
128
|
-
|
|
129
101
|
const data = await response.json();
|
|
130
|
-
|
|
131
102
|
if (!data.success) {
|
|
132
103
|
console.error('API returned error:', data.message);
|
|
133
104
|
return false;
|
|
134
105
|
}
|
|
135
|
-
|
|
136
106
|
const areaData = data.data;
|
|
137
107
|
const geometry = areaData && areaData.geometry ? areaData.geometry : null;
|
|
138
|
-
|
|
139
108
|
if (!geometry) {
|
|
140
109
|
return false;
|
|
141
110
|
}
|
|
142
|
-
|
|
143
111
|
this.geometryData = {
|
|
144
112
|
name: areaData && areaData.name ? areaData.name : null,
|
|
145
113
|
geometry
|
|
@@ -148,20 +116,15 @@ class IndustrialEconomicArea {
|
|
|
148
116
|
this.loaded = true;
|
|
149
117
|
return true;
|
|
150
118
|
}
|
|
151
|
-
|
|
152
119
|
getGeometryData() {
|
|
153
120
|
return this.geometryData;
|
|
154
121
|
}
|
|
155
|
-
|
|
156
122
|
getBounds() {
|
|
157
123
|
return this.bounds;
|
|
158
124
|
}
|
|
159
|
-
|
|
160
125
|
getId() {
|
|
161
126
|
return this.id;
|
|
162
127
|
}
|
|
163
|
-
|
|
164
128
|
}
|
|
165
|
-
|
|
166
129
|
exports.IndustrialEconomicArea = IndustrialEconomicArea;
|
|
167
130
|
//# sourceMappingURL=AreaFocusAreas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["INDUSTRIAL_ECONOMIC_PATH_BY_TYPE","IndustrialEconomicType","INDUSTRIAL_ZONE","ECONOMIC_ZONE","ECO_INDUSTRIAL_ZONE","FREE_TRADE_ZONE","NON_TARIFF_ZONE","OTHER_ZONE_MODEL","BDS_API_BASE_URL","ProvinceArea","constructor","id","name","loaded","geometryData","bounds","fromName","area","load","hasValidId","hasValidName","trim","normalizedName","url","encodeURIComponent","response","fetch","ok","data","json","success","console","error","message","areaData","geometry","getViewboxFromGeometry","getGeometryData","getBounds","getId","IndustrialEconomicArea","type","pathSegment","status","statusText"],"
|
|
1
|
+
{"version":3,"names":["_AreaFocusGeometryUtils","require","_AreaFocusTypes","INDUSTRIAL_ECONOMIC_PATH_BY_TYPE","IndustrialEconomicType","INDUSTRIAL_ZONE","ECONOMIC_ZONE","ECO_INDUSTRIAL_ZONE","FREE_TRADE_ZONE","NON_TARIFF_ZONE","OTHER_ZONE_MODEL","BDS_API_BASE_URL","ProvinceArea","constructor","id","name","loaded","geometryData","bounds","fromName","area","load","hasValidId","hasValidName","trim","normalizedName","url","encodeURIComponent","response","fetch","ok","data","json","success","console","error","message","areaData","geometry","getViewboxFromGeometry","getGeometryData","getBounds","getId","exports","IndustrialEconomicArea","type","pathSegment","status","statusText"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/extends/area/AreaFocusAreas.js"],"mappings":"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","ignoreList":[]}
|