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.
Files changed (321) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +191 -133
  3. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  9. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  11. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/9.2.0/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/android/build.gradle +60 -60
  17. package/android/src/main/AndroidManifest.xml +4 -4
  18. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
  19. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +310 -298
  20. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
  21. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
  28. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
  29. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
  30. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -231
  31. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
  32. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
  33. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
  34. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
  35. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
  36. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
  37. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
  38. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
  39. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
  40. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
  41. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
  42. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
  43. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
  44. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
  45. package/ios/Map4dMap.h +16 -7
  46. package/ios/Map4dMap.m +119 -14
  47. package/ios/Map4dMapTurbo.mm +16 -0
  48. package/ios/RCTConvert+Map4dMap.h +33 -33
  49. package/ios/RCTConvert+Map4dMap.m +112 -112
  50. package/ios/RMFCircle.h +37 -37
  51. package/ios/RMFCircle.m +100 -100
  52. package/ios/RMFCircleManager.h +18 -18
  53. package/ios/RMFCircleManager.m +127 -155
  54. package/ios/RMFCircleMap4d.h +23 -23
  55. package/ios/RMFCircleMap4d.m +13 -13
  56. package/ios/RMFCoordinate.h +22 -22
  57. package/ios/RMFCoordinate.m +13 -13
  58. package/ios/RMFDirectionsMarkerOptions.h +24 -24
  59. package/ios/RMFDirectionsMarkerOptions.m +23 -23
  60. package/ios/RMFDirectionsRenderer.h +47 -47
  61. package/ios/RMFDirectionsRenderer.m +182 -182
  62. package/ios/RMFDirectionsRendererManager.h +17 -17
  63. package/ios/RMFDirectionsRendererManager.m +86 -84
  64. package/ios/RMFDirectionsRendererMap4d.h +21 -21
  65. package/ios/RMFDirectionsRendererMap4d.m +12 -12
  66. package/ios/RMFDummyView.h +6 -6
  67. package/ios/RMFDummyView.m +12 -12
  68. package/ios/RMFEventResponse.h +39 -39
  69. package/ios/RMFEventResponse.m +98 -98
  70. package/ios/RMFIcon.h +24 -24
  71. package/ios/RMFIcon.m +35 -35
  72. package/ios/RMFMapView.h +84 -84
  73. package/ios/RMFMapView.m +376 -376
  74. package/ios/RMFMapViewManager.h +17 -17
  75. package/ios/RMFMapViewManager.m +424 -509
  76. package/ios/RMFMarker.h +57 -57
  77. package/ios/RMFMarker.m +267 -267
  78. package/ios/RMFMarkerManager.h +17 -17
  79. package/ios/RMFMarkerManager.m +128 -156
  80. package/ios/RMFMarkerMap4d.h +19 -19
  81. package/ios/RMFMarkerMap4d.m +13 -13
  82. package/ios/RMFPOI.h +38 -38
  83. package/ios/RMFPOI.m +123 -123
  84. package/ios/RMFPOIManager.h +18 -18
  85. package/ios/RMFPOIManager.m +134 -168
  86. package/ios/RMFPOIMap4d.h +22 -22
  87. package/ios/RMFPOIMap4d.m +12 -12
  88. package/ios/RMFPolygon.h +41 -41
  89. package/ios/RMFPolygon.m +106 -106
  90. package/ios/RMFPolygonManager.h +18 -18
  91. package/ios/RMFPolygonManager.m +119 -141
  92. package/ios/RMFPolygonMap4d.h +23 -23
  93. package/ios/RMFPolygonMap4d.m +15 -15
  94. package/ios/RMFPolyline.h +38 -38
  95. package/ios/RMFPolyline.m +101 -101
  96. package/ios/RMFPolylineManager.h +18 -18
  97. package/ios/RMFPolylineManager.m +117 -139
  98. package/ios/RMFPolylineMap4d.h +22 -22
  99. package/ios/RMFPolylineMap4d.m +15 -15
  100. package/ios/building/RMFBuilding.h +41 -41
  101. package/ios/building/RMFBuilding.m +104 -104
  102. package/ios/building/RMFBuildingManager.h +19 -19
  103. package/ios/building/RMFBuildingManager.m +105 -133
  104. package/ios/building/RMFBuildingMap4d.h +23 -23
  105. package/ios/building/RMFBuildingMap4d.m +15 -15
  106. package/ios/overlays/RMFTileOverlay.h +36 -36
  107. package/ios/overlays/RMFTileOverlay.m +64 -64
  108. package/ios/overlays/RMFTileOverlayManager.h +17 -17
  109. package/ios/overlays/RMFTileOverlayManager.m +27 -27
  110. package/lib/commonjs/components/MFBanDoSo/constants.js +27 -0
  111. package/lib/commonjs/components/MFBanDoSo/constants.js.map +1 -0
  112. package/lib/commonjs/components/MFBanDoSo/helpers.js +200 -0
  113. package/lib/commonjs/components/MFBanDoSo/helpers.js.map +1 -0
  114. package/lib/commonjs/components/MFBanDoSo/propTypes.js +18 -0
  115. package/lib/commonjs/components/MFBanDoSo/propTypes.js.map +1 -0
  116. package/lib/commonjs/components/MFBanDoSo/styles.js +328 -0
  117. package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
  118. package/lib/commonjs/components/MFBanDoSo/ui.js +220 -0
  119. package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
  120. package/lib/commonjs/components/MFBanDoSo.js +190 -73
  121. package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
  122. package/lib/commonjs/components/MFBuilding.js +41 -98
  123. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  124. package/lib/commonjs/components/MFCircle.js +40 -90
  125. package/lib/commonjs/components/MFCircle.js.map +1 -1
  126. package/lib/commonjs/components/MFDirectionsRenderer.js +47 -107
  127. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  128. package/lib/commonjs/components/MFMapView.js +119 -199
  129. package/lib/commonjs/components/MFMapView.js.map +1 -1
  130. package/lib/commonjs/components/MFMarker.js +50 -118
  131. package/lib/commonjs/components/MFMarker.js.map +1 -1
  132. package/lib/commonjs/components/MFPOI.js +37 -94
  133. package/lib/commonjs/components/MFPOI.js.map +1 -1
  134. package/lib/commonjs/components/MFPolygon.js +37 -91
  135. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  136. package/lib/commonjs/components/MFPolyline.js +35 -87
  137. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  138. package/lib/commonjs/components/MFTileOverlay.js +16 -24
  139. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  140. package/lib/commonjs/components/Map4dMapView.js +1 -4
  141. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  142. package/lib/commonjs/components/extends/AreaFocusManager.js +20 -54
  143. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
  144. package/lib/commonjs/components/extends/AreaFocuser.js +3 -19
  145. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  146. package/lib/commonjs/components/extends/BoundHelper.js +0 -6
  147. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
  148. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +0 -37
  149. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
  150. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +1 -35
  151. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  152. package/lib/commonjs/components/extends/area/AreaFocusSession.js +0 -18
  153. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
  154. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +20 -21
  155. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
  156. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +1 -2
  157. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
  158. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +20 -31
  159. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
  160. package/lib/commonjs/index.js +0 -11
  161. package/lib/commonjs/index.js.map +1 -1
  162. package/lib/commonjs/native/Map4dMapNativeModule.js +10 -0
  163. package/lib/commonjs/native/Map4dMapNativeModule.js.map +1 -0
  164. package/lib/commonjs/native/NativeModuleResolver.js +35 -0
  165. package/lib/commonjs/native/NativeModuleResolver.js.map +1 -0
  166. package/lib/commonjs/native/ViewManagerCommand.js +67 -0
  167. package/lib/commonjs/native/ViewManagerCommand.js.map +1 -0
  168. package/lib/commonjs/package.json +1 -0
  169. package/lib/commonjs/specs/NativeMap4dMap.js +9 -0
  170. package/lib/commonjs/specs/NativeMap4dMap.js.map +1 -0
  171. package/lib/module/components/MFBanDoSo/constants.js +22 -0
  172. package/lib/module/components/MFBanDoSo/constants.js.map +1 -0
  173. package/lib/module/components/MFBanDoSo/helpers.js +188 -0
  174. package/lib/module/components/MFBanDoSo/helpers.js.map +1 -0
  175. package/lib/module/components/MFBanDoSo/propTypes.js +14 -0
  176. package/lib/module/components/MFBanDoSo/propTypes.js.map +1 -0
  177. package/lib/module/components/MFBanDoSo/styles.js +325 -0
  178. package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
  179. package/lib/module/components/MFBanDoSo/ui.js +213 -0
  180. package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
  181. package/lib/module/components/MFBanDoSo.js +192 -63
  182. package/lib/module/components/MFBanDoSo.js.map +1 -1
  183. package/lib/module/components/MFBuilding.js +43 -90
  184. package/lib/module/components/MFBuilding.js.map +1 -1
  185. package/lib/module/components/MFCircle.js +42 -82
  186. package/lib/module/components/MFCircle.js.map +1 -1
  187. package/lib/module/components/MFDirectionsRenderer.js +48 -99
  188. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  189. package/lib/module/components/MFMapView.js +120 -188
  190. package/lib/module/components/MFMapView.js.map +1 -1
  191. package/lib/module/components/MFMarker.js +52 -109
  192. package/lib/module/components/MFMarker.js.map +1 -1
  193. package/lib/module/components/MFPOI.js +39 -86
  194. package/lib/module/components/MFPOI.js.map +1 -1
  195. package/lib/module/components/MFPolygon.js +39 -83
  196. package/lib/module/components/MFPolygon.js.map +1 -1
  197. package/lib/module/components/MFPolyline.js +37 -79
  198. package/lib/module/components/MFPolyline.js.map +1 -1
  199. package/lib/module/components/MFTileOverlay.js +19 -18
  200. package/lib/module/components/MFTileOverlay.js.map +1 -1
  201. package/lib/module/components/Map4dMapView.js +2 -0
  202. package/lib/module/components/Map4dMapView.js.map +1 -1
  203. package/lib/module/components/extends/AreaFocusManager.js +22 -48
  204. package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
  205. package/lib/module/components/extends/AreaFocuser.js +5 -17
  206. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  207. package/lib/module/components/extends/BoundHelper.js +2 -5
  208. package/lib/module/components/extends/BoundHelper.js.map +1 -1
  209. package/lib/module/components/extends/area/AreaFocusAreas.js +2 -33
  210. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
  211. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +2 -32
  212. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  213. package/lib/module/components/extends/area/AreaFocusSession.js +2 -17
  214. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
  215. package/lib/module/components/extends/area/AreaFocusTypes.js +21 -18
  216. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
  217. package/lib/module/components/internal/DefaultRoadmapStyle.js +2 -0
  218. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
  219. package/lib/module/components/internal/GeojsonStyleUtils.js +21 -28
  220. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
  221. package/lib/module/index.js +2 -0
  222. package/lib/module/index.js.map +1 -1
  223. package/lib/module/native/Map4dMapNativeModule.js +5 -0
  224. package/lib/module/native/Map4dMapNativeModule.js.map +1 -0
  225. package/lib/module/native/NativeModuleResolver.js +29 -0
  226. package/lib/module/native/NativeModuleResolver.js.map +1 -0
  227. package/lib/module/native/ViewManagerCommand.js +61 -0
  228. package/lib/module/native/ViewManagerCommand.js.map +1 -0
  229. package/lib/module/specs/NativeMap4dMap.js +5 -0
  230. package/lib/module/specs/NativeMap4dMap.js.map +1 -0
  231. package/lib/typescript/components/MFBanDoSo/constants.d.ts +8 -0
  232. package/lib/typescript/components/MFBanDoSo/constants.d.ts.map +1 -0
  233. package/lib/typescript/components/MFBanDoSo/helpers.d.ts +14 -0
  234. package/lib/typescript/components/MFBanDoSo/helpers.d.ts.map +1 -0
  235. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts +2 -0
  236. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts.map +1 -0
  237. package/lib/typescript/components/MFBanDoSo/styles.d.ts +462 -0
  238. package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
  239. package/lib/typescript/components/MFBanDoSo/ui.d.ts +30 -0
  240. package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
  241. package/lib/typescript/components/MFBanDoSo.d.ts +37 -0
  242. package/lib/typescript/components/MFBanDoSo.d.ts.map +1 -0
  243. package/lib/typescript/components/MFBuilding.d.ts +24 -0
  244. package/lib/typescript/components/MFBuilding.d.ts.map +1 -0
  245. package/lib/typescript/components/MFCircle.d.ts +24 -0
  246. package/lib/typescript/components/MFCircle.d.ts.map +1 -0
  247. package/lib/typescript/components/MFDirectionsRenderer.d.ts +19 -0
  248. package/lib/typescript/components/MFDirectionsRenderer.d.ts.map +1 -0
  249. package/lib/typescript/components/MFMapView.d.ts +66 -0
  250. package/lib/typescript/components/MFMapView.d.ts.map +1 -0
  251. package/lib/typescript/components/MFMarker.d.ts +26 -0
  252. package/lib/typescript/components/MFMarker.d.ts.map +1 -0
  253. package/lib/typescript/components/MFPOI.d.ts +24 -0
  254. package/lib/typescript/components/MFPOI.d.ts.map +1 -0
  255. package/lib/typescript/components/MFPolygon.d.ts +24 -0
  256. package/lib/typescript/components/MFPolygon.d.ts.map +1 -0
  257. package/lib/typescript/components/MFPolyline.d.ts +24 -0
  258. package/lib/typescript/components/MFPolyline.d.ts.map +1 -0
  259. package/lib/typescript/components/MFTileOverlay.d.ts +12 -0
  260. package/lib/typescript/components/MFTileOverlay.d.ts.map +1 -0
  261. package/lib/typescript/components/Map4dMapView.d.ts +2 -1
  262. package/lib/typescript/components/Map4dMapView.d.ts.map +1 -0
  263. package/lib/typescript/components/extends/AreaFocusManager.d.ts +34 -0
  264. package/lib/typescript/components/extends/AreaFocusManager.d.ts.map +1 -0
  265. package/lib/typescript/components/extends/AreaFocuser.d.ts +15 -0
  266. package/lib/typescript/components/extends/AreaFocuser.d.ts.map +1 -0
  267. package/lib/typescript/components/extends/BoundHelper.d.ts +11 -0
  268. package/lib/typescript/components/extends/BoundHelper.d.ts.map +1 -0
  269. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts +58 -0
  270. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts.map +1 -0
  271. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts +19 -0
  272. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts.map +1 -0
  273. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts +14 -0
  274. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts.map +1 -0
  275. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts +40 -0
  276. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts.map +1 -0
  277. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts +820 -0
  278. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts.map +1 -0
  279. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts +3 -0
  280. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts.map +1 -0
  281. package/lib/typescript/index.d.ts +13 -0
  282. package/lib/typescript/index.d.ts.map +1 -0
  283. package/lib/typescript/native/Map4dMapNativeModule.d.ts +2 -0
  284. package/lib/typescript/native/Map4dMapNativeModule.d.ts.map +1 -0
  285. package/lib/typescript/native/NativeModuleResolver.d.ts +3 -0
  286. package/lib/typescript/native/NativeModuleResolver.d.ts.map +1 -0
  287. package/lib/typescript/native/ViewManagerCommand.d.ts +11 -0
  288. package/lib/typescript/native/ViewManagerCommand.d.ts.map +1 -0
  289. package/package.json +168 -152
  290. package/react-native-map4d-map.podspec +20 -20
  291. package/src/components/MFBanDoSo/constants.js +32 -0
  292. package/src/components/MFBanDoSo/helpers.js +273 -0
  293. package/src/components/MFBanDoSo/propTypes.js +14 -0
  294. package/src/components/MFBanDoSo/styles.js +316 -0
  295. package/src/components/MFBanDoSo/ui.js +230 -0
  296. package/src/components/MFBanDoSo.js +314 -124
  297. package/src/components/MFBuilding.js +160 -187
  298. package/src/components/MFCircle.js +146 -173
  299. package/src/components/MFDirectionsRenderer.js +211 -237
  300. package/src/components/MFMapView.js +458 -464
  301. package/src/components/MFMarker.js +218 -246
  302. package/src/components/MFPOI.js +157 -184
  303. package/src/components/MFPolygon.js +159 -186
  304. package/src/components/MFPolyline.js +145 -172
  305. package/src/components/MFTileOverlay.js +45 -45
  306. package/src/components/Map4dMapView.tsx +26 -26
  307. package/src/components/extends/AreaFocusManager.js +196 -196
  308. package/src/components/extends/AreaFocuser.js +61 -61
  309. package/src/components/extends/BoundHelper.js +31 -31
  310. package/src/components/extends/area/AreaFocusAreas.js +164 -164
  311. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -164
  312. package/src/components/extends/area/AreaFocusSession.js +100 -100
  313. package/src/components/extends/area/AreaFocusTypes.js +36 -36
  314. package/src/components/internal/DefaultRoadmapStyle.js +3365 -3365
  315. package/src/components/internal/GeojsonStyleUtils.js +146 -143
  316. package/src/index.js +25 -25
  317. package/src/native/Map4dMapNativeModule.js +3 -0
  318. package/src/native/NativeModuleResolver.js +33 -0
  319. package/src/native/ViewManagerCommand.js +82 -0
  320. package/src/specs/NativeMap4dMap.js +12 -0
  321. package/ios/Map4dMapViewManager.m +0 -34
@@ -1,212 +1,212 @@
1
- package com.reactnativemap4dmap;
2
-
3
- import android.content.Context;
4
- import android.os.Build;
5
- import android.util.DisplayMetrics;
6
- import android.view.WindowManager;
7
- import android.view.View;
8
-
9
- import com.facebook.react.uimanager.ViewGroupManager;
10
- import com.facebook.react.uimanager.ThemedReactContext;
11
- import com.facebook.react.uimanager.LayoutShadowNode;
12
- import com.facebook.react.bridge.*;
13
- import com.facebook.react.uimanager.annotations.*;
14
- import com.facebook.react.common.MapBuilder;
15
-
16
- import androidx.annotation.Nullable;
17
-
18
- import java.util.Map;
19
- import java.util.HashMap;
20
-
21
- public class RMFMarkerManager extends ViewGroupManager<RMFMarker> {
22
- private final DisplayMetrics metrics;
23
-
24
- private static final int k_setCoordinate = 1;
25
- private static final int k_setRotation = k_setCoordinate + 1;
26
- private static final int k_setTitle = k_setRotation + 1;
27
- private static final int k_setSnippet = k_setTitle + 1;
28
- private static final int k_setDraggable = k_setSnippet + 1;
29
- private static final int k_setZIndex = k_setDraggable + 1;
30
- private static final int k_setVisible = k_setZIndex + 1;
31
- private static final int k_setInfoWindowAnchor = k_setVisible + 1;
32
- private static final int k_setElevation = k_setInfoWindowAnchor + 1;
33
- private static final int k_setUserData = k_setElevation + 1;
34
-
35
- public RMFMarkerManager(ReactApplicationContext reactContext) {
36
- super();
37
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
38
- metrics = new DisplayMetrics();
39
- ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
40
- .getDefaultDisplay()
41
- .getRealMetrics(metrics);
42
- } else {
43
- metrics = reactContext.getResources().getDisplayMetrics();
44
- }
45
- }
46
-
47
- @Override
48
- public String getName() {
49
- return "RMFMarker";
50
- }
51
-
52
- @Override
53
- protected RMFMarker createViewInstance(ThemedReactContext reactContext) {
54
- return new RMFMarker(reactContext);
55
- }
56
-
57
- @Override
58
- public void receiveCommand(RMFMarker view, int commandId, @Nullable ReadableArray args) {
59
- ReadableMap data;
60
- switch (commandId) {
61
- case k_setCoordinate:
62
- data = args.getMap(0);
63
- view.setPosition(data);
64
- break;
65
- case k_setRotation:
66
- view.setRotation(args.getDouble(0));
67
- break;
68
- case k_setTitle:
69
- view.setTitle(args.getString(0));
70
- break;
71
- case k_setSnippet:
72
- view.setSnippet(args.getString(0));
73
- break;
74
- case k_setDraggable:
75
- view.setDraggable(args.getBoolean(0));
76
- break;
77
- case k_setZIndex:
78
- view.setZIndex(args.getDouble(0));
79
- break;
80
- case k_setVisible:
81
- view.setVisible(args.getBoolean(0));
82
- break;
83
- case k_setInfoWindowAnchor:
84
- data = args.getMap(0);
85
- view.setInfoWindowAnchor(data);
86
- break;
87
- case k_setElevation:
88
- view.setElevation(args.getDouble(0));
89
- break;
90
- case k_setUserData:
91
- data = args.getMap(0);
92
- view.setUserData(data);
93
- break;
94
- }
95
- }
96
-
97
- @Override
98
- public Map getExportedCustomDirectEventTypeConstants() {
99
- Map<String, Map<String, String>> map = MapBuilder.of(
100
- "onDrag", MapBuilder.of("registrationName", "onDrag"),
101
- "onDragStart", MapBuilder.of("registrationName", "onDragStart"),
102
- "onDragEnd", MapBuilder.of("registrationName", "onDragEnd"),
103
- "onPress", MapBuilder.of("registrationName", "onPress"),
104
- "onPressInfoWindow", MapBuilder.of("registrationName", "onPressInfoWindow")
105
- );
106
- return map;
107
- }
108
-
109
- @Nullable
110
- @Override
111
- public Map<String, Integer> getCommandsMap() {
112
- HashMap<String, Integer> map = new HashMap();
113
- map.put("setCoordinate", k_setCoordinate);
114
- map.put("setRotation", k_setRotation);
115
- map.put("setTitle", k_setTitle);
116
- map.put("setSnippet", k_setSnippet);
117
- map.put("setDraggable", k_setDraggable);
118
- map.put("setZIndex", k_setZIndex);
119
- map.put("setVisible", k_setVisible);
120
- map.put("setInfoWindowAnchor", k_setInfoWindowAnchor);
121
- map.put("setElevation", k_setElevation);
122
- map.put("setUserData", k_setUserData);
123
- return map;
124
- }
125
-
126
- @Override
127
- public void addView(RMFMarker parent, View child, int index) {
128
- super.addView(parent, child, index);
129
- }
130
-
131
- @Override
132
- public LayoutShadowNode createShadowNodeInstance() {
133
- // we use a custom shadow node that emits the width/height of the view
134
- // after layout with the updateExtraData method. Without this, we can't generate
135
- // a bitmap of the appropriate width/height of the rendered view.
136
- return new SizeReportingShadowNode();
137
- }
138
-
139
- @Override
140
- public void updateExtraData(RMFMarker view, Object extraData) {
141
- // This method is called from the shadow node with the width/height of the rendered
142
- // marker view.
143
- HashMap<String, Float> data = (HashMap<String, Float>) extraData;
144
- float width = data.get("width");
145
- float height = data.get("height");
146
- view.update((int) width, (int) height);
147
- }
148
-
149
- @ReactProp(name = "coordinate")
150
- public void setCoordinate(RMFMarker view, ReadableMap map) {
151
- view.setPosition(map);
152
- }
153
-
154
- @ReactProp(name = "anchor")
155
- public void setAnchor(RMFMarker view, ReadableMap map) {
156
- view.setAnchor(map);
157
- }
158
-
159
- @ReactProp(name = "infoWindowAnchor")
160
- public void setInfoWindowAnchor(RMFMarker view, ReadableMap map) {
161
- view.setInfoWindowAnchor(map);
162
- }
163
-
164
- @ReactProp(name = "draggable")
165
- public void setDraggable(RMFMarker view, boolean draggable) {
166
- view.setDraggable(draggable);
167
- }
168
-
169
- @ReactProp(name = "visible")
170
- public void setVisible(RMFMarker view, boolean visible) {
171
- view.setVisible(visible);
172
- }
173
-
174
- @ReactProp(name = "title")
175
- public void setTitle(RMFMarker view, String title) {
176
- view.setTitle(title);
177
- }
178
-
179
- @ReactProp(name = "snippet")
180
- public void setSnippet(RMFMarker view, String snippet) {
181
- view.setSnippet(snippet);
182
- }
183
-
184
- @ReactProp(name = "zIndex")
185
- public void setZIndex(RMFMarker view, double zIndex) {
186
- view.setZIndex(zIndex);
187
- }
188
-
189
- @ReactProp(name = "rotation")
190
- public void setRotation(RMFMarker view, double rotation) {
191
- view.setRotation(rotation);
192
- }
193
-
194
- @ReactProp(name = "icon")
195
- public void setIcon(RMFMarker view, ReadableMap data) {
196
- String uri = data != null && data.hasKey("uri") ? data.getString("uri") : null;
197
- int width = data != null && data.hasKey("width") ? (int) (data.getInt("width") * metrics.density) : 0;
198
- int height = data != null && data.hasKey("height") ? (int) (data.getInt("height") * metrics.density) : 0;
199
- view.setIcon(uri, width, height);
200
- }
201
-
202
- @ReactProp(name = "elevation")
203
- public void setElevation(RMFMarker view, double elevation) {
204
- view.setElevation(elevation);
205
- }
206
-
207
- @ReactProp(name = "userData")
208
- public void setUserData(RMFMarker view, ReadableMap userData) {
209
- view.setUserData(userData);
210
- }
211
-
1
+ package com.reactnativemap4dmap;
2
+
3
+ import android.content.Context;
4
+ import android.os.Build;
5
+ import android.util.DisplayMetrics;
6
+ import android.view.WindowManager;
7
+ import android.view.View;
8
+
9
+ import com.facebook.react.uimanager.ViewGroupManager;
10
+ import com.facebook.react.uimanager.ThemedReactContext;
11
+ import com.facebook.react.uimanager.LayoutShadowNode;
12
+ import com.facebook.react.bridge.*;
13
+ import com.facebook.react.uimanager.annotations.*;
14
+ import com.facebook.react.common.MapBuilder;
15
+
16
+ import androidx.annotation.Nullable;
17
+
18
+ import java.util.Map;
19
+ import java.util.HashMap;
20
+
21
+ public class RMFMarkerManager extends ViewGroupManager<RMFMarker> {
22
+ private final DisplayMetrics metrics;
23
+
24
+ private static final int k_setCoordinate = 1;
25
+ private static final int k_setRotation = k_setCoordinate + 1;
26
+ private static final int k_setTitle = k_setRotation + 1;
27
+ private static final int k_setSnippet = k_setTitle + 1;
28
+ private static final int k_setDraggable = k_setSnippet + 1;
29
+ private static final int k_setZIndex = k_setDraggable + 1;
30
+ private static final int k_setVisible = k_setZIndex + 1;
31
+ private static final int k_setInfoWindowAnchor = k_setVisible + 1;
32
+ private static final int k_setElevation = k_setInfoWindowAnchor + 1;
33
+ private static final int k_setUserData = k_setElevation + 1;
34
+
35
+ public RMFMarkerManager(ReactApplicationContext reactContext) {
36
+ super();
37
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
38
+ metrics = new DisplayMetrics();
39
+ ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
40
+ .getDefaultDisplay()
41
+ .getRealMetrics(metrics);
42
+ } else {
43
+ metrics = reactContext.getResources().getDisplayMetrics();
44
+ }
45
+ }
46
+
47
+ @Override
48
+ public String getName() {
49
+ return "RMFMarker";
50
+ }
51
+
52
+ @Override
53
+ protected RMFMarker createViewInstance(ThemedReactContext reactContext) {
54
+ return new RMFMarker(reactContext);
55
+ }
56
+
57
+ @Override
58
+ public void receiveCommand(RMFMarker view, int commandId, @Nullable ReadableArray args) {
59
+ ReadableMap data;
60
+ switch (commandId) {
61
+ case k_setCoordinate:
62
+ data = args.getMap(0);
63
+ view.setPosition(data);
64
+ break;
65
+ case k_setRotation:
66
+ view.setRotation(args.getDouble(0));
67
+ break;
68
+ case k_setTitle:
69
+ view.setTitle(args.getString(0));
70
+ break;
71
+ case k_setSnippet:
72
+ view.setSnippet(args.getString(0));
73
+ break;
74
+ case k_setDraggable:
75
+ view.setDraggable(args.getBoolean(0));
76
+ break;
77
+ case k_setZIndex:
78
+ view.setZIndex(args.getDouble(0));
79
+ break;
80
+ case k_setVisible:
81
+ view.setVisible(args.getBoolean(0));
82
+ break;
83
+ case k_setInfoWindowAnchor:
84
+ data = args.getMap(0);
85
+ view.setInfoWindowAnchor(data);
86
+ break;
87
+ case k_setElevation:
88
+ view.setElevation(args.getDouble(0));
89
+ break;
90
+ case k_setUserData:
91
+ data = args.getMap(0);
92
+ view.setUserData(data);
93
+ break;
94
+ }
95
+ }
96
+
97
+ @Override
98
+ public Map getExportedCustomDirectEventTypeConstants() {
99
+ Map<String, Map<String, String>> map = MapBuilder.of(
100
+ "onDrag", MapBuilder.of("registrationName", "onDrag"),
101
+ "onDragStart", MapBuilder.of("registrationName", "onDragStart"),
102
+ "onDragEnd", MapBuilder.of("registrationName", "onDragEnd"),
103
+ "onPress", MapBuilder.of("registrationName", "onPress"),
104
+ "onPressInfoWindow", MapBuilder.of("registrationName", "onPressInfoWindow")
105
+ );
106
+ return map;
107
+ }
108
+
109
+ @Nullable
110
+ @Override
111
+ public Map<String, Integer> getCommandsMap() {
112
+ HashMap<String, Integer> map = new HashMap();
113
+ map.put("setCoordinate", k_setCoordinate);
114
+ map.put("setRotation", k_setRotation);
115
+ map.put("setTitle", k_setTitle);
116
+ map.put("setSnippet", k_setSnippet);
117
+ map.put("setDraggable", k_setDraggable);
118
+ map.put("setZIndex", k_setZIndex);
119
+ map.put("setVisible", k_setVisible);
120
+ map.put("setInfoWindowAnchor", k_setInfoWindowAnchor);
121
+ map.put("setElevation", k_setElevation);
122
+ map.put("setUserData", k_setUserData);
123
+ return map;
124
+ }
125
+
126
+ @Override
127
+ public void addView(RMFMarker parent, View child, int index) {
128
+ super.addView(parent, child, index);
129
+ }
130
+
131
+ @Override
132
+ public LayoutShadowNode createShadowNodeInstance() {
133
+ // we use a custom shadow node that emits the width/height of the view
134
+ // after layout with the updateExtraData method. Without this, we can't generate
135
+ // a bitmap of the appropriate width/height of the rendered view.
136
+ return new SizeReportingShadowNode();
137
+ }
138
+
139
+ @Override
140
+ public void updateExtraData(RMFMarker view, Object extraData) {
141
+ // This method is called from the shadow node with the width/height of the rendered
142
+ // marker view.
143
+ HashMap<String, Float> data = (HashMap<String, Float>) extraData;
144
+ float width = data.get("width");
145
+ float height = data.get("height");
146
+ view.update((int) width, (int) height);
147
+ }
148
+
149
+ @ReactProp(name = "coordinate")
150
+ public void setCoordinate(RMFMarker view, ReadableMap map) {
151
+ view.setPosition(map);
152
+ }
153
+
154
+ @ReactProp(name = "anchor")
155
+ public void setAnchor(RMFMarker view, ReadableMap map) {
156
+ view.setAnchor(map);
157
+ }
158
+
159
+ @ReactProp(name = "infoWindowAnchor")
160
+ public void setInfoWindowAnchor(RMFMarker view, ReadableMap map) {
161
+ view.setInfoWindowAnchor(map);
162
+ }
163
+
164
+ @ReactProp(name = "draggable")
165
+ public void setDraggable(RMFMarker view, boolean draggable) {
166
+ view.setDraggable(draggable);
167
+ }
168
+
169
+ @ReactProp(name = "visible")
170
+ public void setVisible(RMFMarker view, boolean visible) {
171
+ view.setVisible(visible);
172
+ }
173
+
174
+ @ReactProp(name = "title")
175
+ public void setTitle(RMFMarker view, String title) {
176
+ view.setTitle(title);
177
+ }
178
+
179
+ @ReactProp(name = "snippet")
180
+ public void setSnippet(RMFMarker view, String snippet) {
181
+ view.setSnippet(snippet);
182
+ }
183
+
184
+ @ReactProp(name = "zIndex")
185
+ public void setZIndex(RMFMarker view, double zIndex) {
186
+ view.setZIndex(zIndex);
187
+ }
188
+
189
+ @ReactProp(name = "rotation")
190
+ public void setRotation(RMFMarker view, double rotation) {
191
+ view.setRotation(rotation);
192
+ }
193
+
194
+ @ReactProp(name = "icon")
195
+ public void setIcon(RMFMarker view, ReadableMap data) {
196
+ String uri = data != null && data.hasKey("uri") ? data.getString("uri") : null;
197
+ int width = data != null && data.hasKey("width") ? (int) (data.getInt("width") * metrics.density) : 0;
198
+ int height = data != null && data.hasKey("height") ? (int) (data.getInt("height") * metrics.density) : 0;
199
+ view.setIcon(uri, width, height);
200
+ }
201
+
202
+ @ReactProp(name = "elevation")
203
+ public void setElevation(RMFMarker view, double elevation) {
204
+ view.setElevation(elevation);
205
+ }
206
+
207
+ @ReactProp(name = "userData")
208
+ public void setUserData(RMFMarker view, ReadableMap userData) {
209
+ view.setUserData(userData);
210
+ }
211
+
212
212
  }