react-native-map4d-map-dtqg 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +64 -19
  2. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  6. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +5 -0
  7. package/ios/RMFMapViewManager.m +15 -0
  8. package/lib/commonjs/components/MFBanDoSo.js +109 -0
  9. package/lib/commonjs/components/MFBanDoSo.js.map +1 -0
  10. package/lib/commonjs/components/MFMapView.js +20 -1
  11. package/lib/commonjs/components/MFMapView.js.map +1 -1
  12. package/lib/commonjs/components/extends/AreaFocusManager.js +205 -0
  13. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -0
  14. package/lib/commonjs/components/extends/AreaFocuser.js +19 -257
  15. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  16. package/lib/commonjs/components/extends/BoundHelper.js +36 -0
  17. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -0
  18. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +167 -0
  19. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -0
  20. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  21. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  22. package/lib/commonjs/components/extends/area/AreaFocusSession.js +100 -0
  23. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -0
  24. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +40 -0
  25. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -0
  26. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +2288 -0
  27. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -0
  28. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +139 -0
  29. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -0
  30. package/lib/commonjs/index.js +8 -0
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/module/components/MFBanDoSo.js +92 -0
  33. package/lib/module/components/MFBanDoSo.js.map +1 -0
  34. package/lib/module/components/MFMapView.js +19 -1
  35. package/lib/module/components/MFMapView.js.map +1 -1
  36. package/lib/module/components/extends/AreaFocusManager.js +193 -0
  37. package/lib/module/components/extends/AreaFocusManager.js.map +1 -0
  38. package/lib/module/components/extends/AreaFocuser.js +19 -257
  39. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  40. package/lib/module/components/extends/BoundHelper.js +29 -0
  41. package/lib/module/components/extends/BoundHelper.js.map +1 -0
  42. package/lib/module/components/extends/area/AreaFocusAreas.js +156 -0
  43. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -0
  44. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +153 -0
  45. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  46. package/lib/module/components/extends/area/AreaFocusSession.js +93 -0
  47. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -0
  48. package/lib/module/components/extends/area/AreaFocusTypes.js +33 -0
  49. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -0
  50. package/lib/module/components/internal/DefaultRoadmapStyle.js +2281 -0
  51. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -0
  52. package/lib/module/components/internal/GeojsonStyleUtils.js +130 -0
  53. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -0
  54. package/lib/module/index.js +2 -1
  55. package/lib/module/index.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/components/MFBanDoSo.js +124 -0
  58. package/src/components/MFMapView.js +19 -2
  59. package/src/components/extends/AreaFocusManager.js +196 -0
  60. package/src/components/extends/AreaFocuser.js +17 -294
  61. package/src/components/extends/BoundHelper.js +32 -0
  62. package/src/components/extends/area/AreaFocusAreas.js +164 -0
  63. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  64. package/src/components/extends/area/AreaFocusSession.js +100 -0
  65. package/src/components/extends/area/AreaFocusTypes.js +36 -0
  66. package/src/components/internal/DefaultRoadmapStyle.js +3365 -0
  67. package/src/components/internal/GeojsonStyleUtils.js +143 -0
  68. package/src/index.js +2 -0
  69. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  70. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  71. package/android/.gradle/9.0-milestone-1/checksums/checksums.lock +0 -0
  72. package/android/.gradle/9.0-milestone-1/checksums/md5-checksums.bin +0 -0
  73. package/android/.gradle/9.0-milestone-1/checksums/sha1-checksums.bin +0 -0
  74. package/android/.gradle/9.0-milestone-1/fileChanges/last-build.bin +0 -0
  75. package/android/.gradle/9.0-milestone-1/fileHashes/fileHashes.lock +0 -0
  76. package/android/.gradle/9.0-milestone-1/gc.properties +0 -0
  77. package/android/.gradle/config.properties +0 -2
  78. package/android/.idea/AndroidProjectSystem.xml +0 -6
  79. package/android/.idea/caches/deviceStreaming.xml +0 -1570
  80. package/android/.idea/copilot.data.migration.ask2agent.xml +0 -6
  81. package/android/.idea/gradle.xml +0 -12
  82. package/android/.idea/migrations.xml +0 -10
  83. package/android/.idea/misc.xml +0 -10
  84. package/android/.idea/runConfigurations.xml +0 -17
  85. package/android/.idea/vcs.xml +0 -6
  86. package/android/local.properties +0 -8
@@ -0,0 +1,143 @@
1
+ import defaultRoadmapStyle from './DefaultRoadmapStyle';
2
+
3
+ const GEOJSON_SOURCE_NAME = 'geojson';
4
+
5
+ function deepClone(value) {
6
+ return JSON.parse(JSON.stringify(value));
7
+ }
8
+
9
+ function toStyleObject(mapStyle) {
10
+ const defaultStyle = deepClone(defaultRoadmapStyle);
11
+ if (mapStyle == null) {
12
+ return defaultStyle;
13
+ }
14
+
15
+ if (typeof mapStyle === 'string') {
16
+ try {
17
+ return JSON.parse(mapStyle);
18
+ } catch (error) {
19
+ return defaultStyle;
20
+ }
21
+ }
22
+
23
+ if (typeof mapStyle === 'object' && !Array.isArray(mapStyle)) {
24
+ try {
25
+ return deepClone(mapStyle);
26
+ } catch (error) {
27
+ return defaultStyle;
28
+ }
29
+ }
30
+
31
+ return defaultStyle;
32
+ }
33
+
34
+ function generateLayerStyle(source, items) {
35
+ const layers = [];
36
+
37
+ items.forEach((item) => {
38
+ const key = item?.key;
39
+ const style = item?.style;
40
+ if (!key || !style || typeof style !== 'object') {
41
+ return;
42
+ }
43
+
44
+ if (Array.isArray(style.line)) {
45
+ style.line.forEach((line, index) => {
46
+ layers.push({
47
+ id: `${key}-line-${index}`,
48
+ type: 'line',
49
+ source,
50
+ source_layer: line.layer,
51
+ filter: line.filter,
52
+ draw: line.draw,
53
+ });
54
+ });
55
+ }
56
+
57
+ if (Array.isArray(style.fill)) {
58
+ style.fill.forEach((fill, index) => {
59
+ layers.push({
60
+ id: `${key}-fill-${index}`,
61
+ type: 'fill',
62
+ source,
63
+ source_layer: fill.layer,
64
+ filter: fill.filter,
65
+ draw: fill.draw,
66
+ });
67
+ });
68
+ }
69
+
70
+ if (Array.isArray(style.symbol)) {
71
+ style.symbol.forEach((symbol, index) => {
72
+ layers.push({
73
+ id: `${key}-symbol-${index}`,
74
+ type: 'symbol',
75
+ source,
76
+ source_layer: symbol.layer,
77
+ filter: symbol.filter,
78
+ draw: symbol.draw,
79
+ });
80
+ });
81
+ }
82
+ });
83
+
84
+ return layers;
85
+ }
86
+
87
+ function createCategoryItemsSignature(items) {
88
+ if (!Array.isArray(items)) {
89
+ return '';
90
+ }
91
+
92
+ const normalized = items.map((item) => ({
93
+ key: item?.key || '',
94
+ checked: !!item?.checked,
95
+ style: item?.style || null,
96
+ }));
97
+
98
+ return JSON.stringify(normalized);
99
+ }
100
+
101
+ function buildGeojsonStyle(mapStyle, sourceUrl, items) {
102
+ const result = toStyleObject(mapStyle);
103
+ result.sources = result.sources || {};
104
+
105
+ const defaultGeojsonSource =
106
+ typeof result.sources[GEOJSON_SOURCE_NAME] === 'object' &&
107
+ result.sources[GEOJSON_SOURCE_NAME] !== null
108
+ ? result.sources[GEOJSON_SOURCE_NAME]
109
+ : {};
110
+
111
+ result.sources[GEOJSON_SOURCE_NAME] = {
112
+ ...defaultGeojsonSource,
113
+ type: 'vector',
114
+ };
115
+
116
+ if (typeof sourceUrl === 'string' && sourceUrl.trim().length > 0) {
117
+ result.sources[GEOJSON_SOURCE_NAME].url = sourceUrl;
118
+ }
119
+
120
+ const normalizeItems = Array.isArray(items) ? items : [];
121
+ const layerStyle = generateLayerStyle(GEOJSON_SOURCE_NAME, normalizeItems);
122
+
123
+ const baseLayers = (Array.isArray(result.layers) ? result.layers : []).filter(
124
+ (layer) => {
125
+ if (!layer || typeof layer !== 'object') {
126
+ return false;
127
+ }
128
+
129
+ if (layer.source_layer === 'pois') {
130
+ return false;
131
+ }
132
+
133
+ const metadata = layer.metadata;
134
+ return !(metadata && metadata.managedBy === 'MFBanDoSo');
135
+ }
136
+ );
137
+
138
+ result.layers = baseLayers.concat(layerStyle);
139
+
140
+ return JSON.stringify(result);
141
+ }
142
+
143
+ export { buildGeojsonStyle, createCategoryItemsSignature };
package/src/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import {MFMapView} from './components/MFMapView'
2
+ import { MFBanDoSo } from './components/MFBanDoSo'
2
3
  import {MFMarker} from './components/MFMarker'
3
4
  import {MFCircle} from './components/MFCircle'
4
5
  import {MFPolyline} from './components/MFPolyline'
@@ -11,6 +12,7 @@ import {AreaFocuser} from './components/extends/AreaFocuser'
11
12
 
12
13
  export {
13
14
  MFMapView,
15
+ MFBanDoSo,
14
16
  MFMarker,
15
17
  MFCircle,
16
18
  MFPolyline,
File without changes
@@ -1,2 +0,0 @@
1
- #Wed Apr 15 14:44:36 ICT 2026
2
- java.home=C\:\\Program Files\\Android\\Android Studio\\jbr
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AndroidProjectSystem">
4
- <option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
5
- </component>
6
- </project>