react-native-map4d-map-dtqg 0.1.0 → 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 (210) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +133 -41
  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/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/build.gradle +60 -60
  12. package/android/src/main/AndroidManifest.xml +4 -4
  13. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
  14. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -298
  15. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
  16. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
  17. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
  18. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
  19. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
  20. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
  21. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -226
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
  28. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
  29. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
  30. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
  31. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
  32. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
  33. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
  34. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
  35. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
  36. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
  37. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
  38. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
  39. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
  40. package/ios/Map4dMap.h +7 -7
  41. package/ios/Map4dMap.m +14 -14
  42. package/ios/Map4dMapViewManager.m +34 -34
  43. package/ios/RCTConvert+Map4dMap.h +33 -33
  44. package/ios/RCTConvert+Map4dMap.m +112 -112
  45. package/ios/RMFCircle.h +37 -37
  46. package/ios/RMFCircle.m +100 -100
  47. package/ios/RMFCircleManager.h +18 -18
  48. package/ios/RMFCircleManager.m +155 -155
  49. package/ios/RMFCircleMap4d.h +23 -23
  50. package/ios/RMFCircleMap4d.m +13 -13
  51. package/ios/RMFCoordinate.h +22 -22
  52. package/ios/RMFCoordinate.m +13 -13
  53. package/ios/RMFDirectionsMarkerOptions.h +24 -24
  54. package/ios/RMFDirectionsMarkerOptions.m +23 -23
  55. package/ios/RMFDirectionsRenderer.h +47 -47
  56. package/ios/RMFDirectionsRenderer.m +182 -182
  57. package/ios/RMFDirectionsRendererManager.h +17 -17
  58. package/ios/RMFDirectionsRendererManager.m +84 -84
  59. package/ios/RMFDirectionsRendererMap4d.h +21 -21
  60. package/ios/RMFDirectionsRendererMap4d.m +12 -12
  61. package/ios/RMFDummyView.h +6 -6
  62. package/ios/RMFDummyView.m +12 -12
  63. package/ios/RMFEventResponse.h +39 -39
  64. package/ios/RMFEventResponse.m +98 -98
  65. package/ios/RMFIcon.h +24 -24
  66. package/ios/RMFIcon.m +35 -35
  67. package/ios/RMFMapView.h +84 -84
  68. package/ios/RMFMapView.m +376 -376
  69. package/ios/RMFMapViewManager.h +17 -17
  70. package/ios/RMFMapViewManager.m +508 -493
  71. package/ios/RMFMarker.h +57 -57
  72. package/ios/RMFMarker.m +267 -267
  73. package/ios/RMFMarkerManager.h +17 -17
  74. package/ios/RMFMarkerManager.m +156 -156
  75. package/ios/RMFMarkerMap4d.h +19 -19
  76. package/ios/RMFMarkerMap4d.m +13 -13
  77. package/ios/RMFPOI.h +38 -38
  78. package/ios/RMFPOI.m +123 -123
  79. package/ios/RMFPOIManager.h +18 -18
  80. package/ios/RMFPOIManager.m +168 -168
  81. package/ios/RMFPOIMap4d.h +22 -22
  82. package/ios/RMFPOIMap4d.m +12 -12
  83. package/ios/RMFPolygon.h +41 -41
  84. package/ios/RMFPolygon.m +106 -106
  85. package/ios/RMFPolygonManager.h +18 -18
  86. package/ios/RMFPolygonManager.m +141 -141
  87. package/ios/RMFPolygonMap4d.h +23 -23
  88. package/ios/RMFPolygonMap4d.m +15 -15
  89. package/ios/RMFPolyline.h +38 -38
  90. package/ios/RMFPolyline.m +101 -101
  91. package/ios/RMFPolylineManager.h +18 -18
  92. package/ios/RMFPolylineManager.m +139 -139
  93. package/ios/RMFPolylineMap4d.h +22 -22
  94. package/ios/RMFPolylineMap4d.m +15 -15
  95. package/ios/building/RMFBuilding.h +41 -41
  96. package/ios/building/RMFBuilding.m +104 -104
  97. package/ios/building/RMFBuildingManager.h +19 -19
  98. package/ios/building/RMFBuildingManager.m +133 -133
  99. package/ios/building/RMFBuildingMap4d.h +23 -23
  100. package/ios/building/RMFBuildingMap4d.m +15 -15
  101. package/ios/overlays/RMFTileOverlay.h +36 -36
  102. package/ios/overlays/RMFTileOverlay.m +64 -64
  103. package/ios/overlays/RMFTileOverlayManager.h +17 -17
  104. package/ios/overlays/RMFTileOverlayManager.m +27 -27
  105. package/lib/commonjs/components/MFBanDoSo.js +109 -0
  106. package/lib/commonjs/components/MFBanDoSo.js.map +1 -0
  107. package/lib/commonjs/components/MFBuilding.js +26 -26
  108. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  109. package/lib/commonjs/components/MFCircle.js +20 -20
  110. package/lib/commonjs/components/MFCircle.js.map +1 -1
  111. package/lib/commonjs/components/MFDirectionsRenderer.js +32 -32
  112. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  113. package/lib/commonjs/components/MFMapView.js +152 -71
  114. package/lib/commonjs/components/MFMapView.js.map +1 -1
  115. package/lib/commonjs/components/MFMarker.js +35 -35
  116. package/lib/commonjs/components/MFMarker.js.map +1 -1
  117. package/lib/commonjs/components/MFPOI.js +20 -20
  118. package/lib/commonjs/components/MFPOI.js.map +1 -1
  119. package/lib/commonjs/components/MFPolygon.js +22 -22
  120. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  121. package/lib/commonjs/components/MFPolyline.js +18 -18
  122. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  123. package/lib/commonjs/components/MFTileOverlay.js +9 -9
  124. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  125. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  126. package/lib/commonjs/components/extends/AreaFocusManager.js +205 -0
  127. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -0
  128. package/lib/commonjs/components/extends/AreaFocuser.js +73 -0
  129. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -0
  130. package/lib/commonjs/components/extends/BoundHelper.js +36 -0
  131. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -0
  132. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +167 -0
  133. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -0
  134. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  135. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  136. package/lib/commonjs/components/extends/area/AreaFocusSession.js +100 -0
  137. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -0
  138. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +40 -0
  139. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -0
  140. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +2288 -0
  141. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -0
  142. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +139 -0
  143. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -0
  144. package/lib/commonjs/index.js +16 -0
  145. package/lib/commonjs/index.js.map +1 -1
  146. package/lib/module/components/MFBanDoSo.js +92 -0
  147. package/lib/module/components/MFBanDoSo.js.map +1 -0
  148. package/lib/module/components/MFBuilding.js +26 -26
  149. package/lib/module/components/MFBuilding.js.map +1 -1
  150. package/lib/module/components/MFCircle.js +20 -20
  151. package/lib/module/components/MFCircle.js.map +1 -1
  152. package/lib/module/components/MFDirectionsRenderer.js +32 -32
  153. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  154. package/lib/module/components/MFMapView.js +149 -71
  155. package/lib/module/components/MFMapView.js.map +1 -1
  156. package/lib/module/components/MFMarker.js +35 -35
  157. package/lib/module/components/MFMarker.js.map +1 -1
  158. package/lib/module/components/MFPOI.js +20 -20
  159. package/lib/module/components/MFPOI.js.map +1 -1
  160. package/lib/module/components/MFPolygon.js +22 -22
  161. package/lib/module/components/MFPolygon.js.map +1 -1
  162. package/lib/module/components/MFPolyline.js +18 -18
  163. package/lib/module/components/MFPolyline.js.map +1 -1
  164. package/lib/module/components/MFTileOverlay.js +9 -9
  165. package/lib/module/components/MFTileOverlay.js.map +1 -1
  166. package/lib/module/components/Map4dMapView.js.map +1 -1
  167. package/lib/module/components/extends/AreaFocusManager.js +193 -0
  168. package/lib/module/components/extends/AreaFocusManager.js.map +1 -0
  169. package/lib/module/components/extends/AreaFocuser.js +64 -0
  170. package/lib/module/components/extends/AreaFocuser.js.map +1 -0
  171. package/lib/module/components/extends/BoundHelper.js +29 -0
  172. package/lib/module/components/extends/BoundHelper.js.map +1 -0
  173. package/lib/module/components/extends/area/AreaFocusAreas.js +156 -0
  174. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -0
  175. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +153 -0
  176. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  177. package/lib/module/components/extends/area/AreaFocusSession.js +93 -0
  178. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -0
  179. package/lib/module/components/extends/area/AreaFocusTypes.js +33 -0
  180. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -0
  181. package/lib/module/components/internal/DefaultRoadmapStyle.js +2281 -0
  182. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -0
  183. package/lib/module/components/internal/GeojsonStyleUtils.js +130 -0
  184. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -0
  185. package/lib/module/index.js +3 -1
  186. package/lib/module/index.js.map +1 -1
  187. package/lib/typescript/components/Map4dMapView.d.ts +7 -7
  188. package/package.json +152 -152
  189. package/react-native-map4d-map.podspec +20 -20
  190. package/src/components/MFBanDoSo.js +124 -0
  191. package/src/components/MFBuilding.js +187 -187
  192. package/src/components/MFCircle.js +173 -173
  193. package/src/components/MFDirectionsRenderer.js +237 -237
  194. package/src/components/MFMapView.js +464 -373
  195. package/src/components/MFMarker.js +246 -246
  196. package/src/components/MFPOI.js +184 -184
  197. package/src/components/MFPolygon.js +186 -186
  198. package/src/components/MFPolyline.js +172 -172
  199. package/src/components/MFTileOverlay.js +45 -45
  200. package/src/components/Map4dMapView.tsx +26 -26
  201. package/src/components/extends/AreaFocusManager.js +196 -0
  202. package/src/components/extends/AreaFocuser.js +62 -0
  203. package/src/components/extends/BoundHelper.js +32 -0
  204. package/src/components/extends/area/AreaFocusAreas.js +164 -0
  205. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  206. package/src/components/extends/area/AreaFocusSession.js +100 -0
  207. package/src/components/extends/area/AreaFocusTypes.js +36 -0
  208. package/src/components/internal/DefaultRoadmapStyle.js +3365 -0
  209. package/src/components/internal/GeojsonStyleUtils.js +143 -0
  210. package/src/index.js +25 -21
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultRoadmapStyle"],"sources":["DefaultRoadmapStyle.js"],"sourcesContent":["const defaultRoadmapStyle = {\r\n \"web-version\": \"2.2.0\",\r\n \"mobile-version\": \"2.1.0\",\r\n \"sources\": {\r\n \"map4d\": {\r\n \"url\": \"map4d://tiles\"\r\n },\r\n \"geojson\": {\r\n \"type\": \"json\",\r\n \"url\": \"\"\r\n }\r\n },\r\n \"images\": {\r\n \"pois\": {\r\n \"type\": \"simple_sprite\",\r\n \"url\": [\r\n \"https://maptile.s3-sgn10.fptcloud.com/v1/AUTH_b32b6bc102c44269ab7b55e7820e7116/data/images/627cd15e9c4fa69f92878f59.png\",\r\n \"https://maptile.s3-sgn10.fptcloud.com/v1/AUTH_b32b6bc102c44269ab7b55e7820e7116/data/images/627cd15e9c4fa69f92878f5a.png\",\r\n \"https://maptile.s3-sgn10.fptcloud.com/v1/AUTH_b32b6bc102c44269ab7b55e7820e7116/data/images/627cd15e9c4fa69f92878f5b.png\"\r\n ],\r\n \"width\": 26,\r\n \"height\": 32\r\n },\r\n },\r\n \"patterns\": {\r\n \"dashdash\": {\r\n \"type\": \"dash\",\r\n \"gap\": 3,\r\n \"length\": 3,\r\n \"repeat\": 2\r\n },\r\n \"dotdot\": {\r\n \"type\": \"dot\",\r\n \"repeat\": 2\r\n }\r\n },\r\n \"layers\": [\r\n {\r\n \"id\": \"earth_earth_fill\",\r\n \"type\": \"background\",\r\n \"filter\": null,\r\n \"draw\": {\r\n \"color\": [\r\n [\r\n 2,\r\n \"#f8f9faff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"key\": \"earth\",\r\n \"name\": \"Màu nền/Vùng đất\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"water_water_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"water\",\r\n \"filter\": null,\r\n \"draw\": {\r\n \"color\": \"#94c0f2ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Nước\",\r\n \"key\": \"water\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"water_water_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"water\",\r\n \"filter\": null,\r\n \"draw\": {\r\n \"color\": \"#94c0f2ff\",\r\n \"width\": [\r\n [\r\n 12,\r\n 1\r\n ],\r\n [\r\n 14,\r\n 2\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường bờ biển\",\r\n \"key\": \"water\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_highway_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"highway\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 7,\r\n 1\r\n ],\r\n [\r\n 10,\r\n 2\r\n ],\r\n [\r\n 14,\r\n 3\r\n ],\r\n [\r\n 15,\r\n 5\r\n ],\r\n [\r\n 16,\r\n 8\r\n ],\r\n [\r\n 17,\r\n 13\r\n ],\r\n [\r\n 18,\r\n 20\r\n ],\r\n [\r\n 19,\r\n 36\r\n ]\r\n ],\r\n \"color\": \"#fddc7fff\",\r\n \"outline_width\": [\r\n [\r\n 8,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#daa130ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Cao tốc\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_highway_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"highway\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 7,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#783b03ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"highway\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_major_road_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 10,\r\n 1\r\n ],\r\n [\r\n 15,\r\n 4\r\n ],\r\n [\r\n 16,\r\n 8\r\n ],\r\n [\r\n 17,\r\n 13\r\n ],\r\n [\r\n 18,\r\n 20\r\n ],\r\n [\r\n 19,\r\n 36\r\n ]\r\n ],\r\n \"color\": \"#ffffffff\",\r\n \"outline_width\": [\r\n [\r\n 10,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#dfe0e4ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường chính\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_major_road_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 5,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"major_road\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_primary_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ],\r\n \"kind_detail\": [\r\n \"primary\",\r\n \"primary_link\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 8,\r\n 1\r\n ],\r\n [\r\n 14,\r\n 3\r\n ],\r\n [\r\n 15,\r\n 5\r\n ],\r\n [\r\n 16,\r\n 8\r\n ],\r\n [\r\n 17,\r\n 13\r\n ],\r\n [\r\n 18,\r\n 20\r\n ],\r\n [\r\n 19,\r\n 36\r\n ]\r\n ],\r\n \"color\": \"#ffffffff\",\r\n \"outline_width\": [\r\n [\r\n 8,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#dfe0e4ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường lá»›n\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_primary_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ],\r\n \"kind_detail\": [\r\n \"primary\",\r\n \"primary_link\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 12,\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"primary\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_trunk_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ],\r\n \"kind_detail\": [\r\n \"trunk\",\r\n \"trunk_link\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 7,\r\n 1\r\n ],\r\n [\r\n 10,\r\n 2\r\n ],\r\n [\r\n 14,\r\n 3\r\n ],\r\n [\r\n 15,\r\n 5\r\n ],\r\n [\r\n 16,\r\n 8\r\n ],\r\n [\r\n 17,\r\n 13\r\n ],\r\n [\r\n 18,\r\n 20\r\n ],\r\n [\r\n 19,\r\n 36\r\n ]\r\n ],\r\n \"color\": [\r\n [\r\n 7,\r\n \"#fdeec1ff\"\r\n ],\r\n [\r\n 13,\r\n \"#fde293ff\"\r\n ]\r\n ],\r\n \"outline_width\": [\r\n [\r\n 8,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#f8ae0aff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Quốc lá»™\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_trunk_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"major_road\"\r\n ],\r\n \"kind_detail\": [\r\n \"trunk\",\r\n \"trunk_link\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 12,\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"trunk\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_minor_road_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 16,\r\n 2\r\n ],\r\n [\r\n 18,\r\n 5\r\n ],\r\n [\r\n 19,\r\n 10\r\n ]\r\n ],\r\n \"color\": \"#FFF\",\r\n \"outline_width\": [\r\n [\r\n 16,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#dfe0e4ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường phụ\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_minor_road_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#70757aff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"minor_road\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_unclassified_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"unclassified\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 14,\r\n 1\r\n ],\r\n [\r\n 15,\r\n 2\r\n ],\r\n [\r\n 16,\r\n 4\r\n ],\r\n [\r\n 17,\r\n 7\r\n ],\r\n [\r\n 18,\r\n 10\r\n ],\r\n [\r\n 19,\r\n 20\r\n ]\r\n ],\r\n \"color\": [\r\n [\r\n 14,\r\n \"#e8e8e8ff\"\r\n ],\r\n [\r\n 15,\r\n \"#ffffffff\"\r\n ]\r\n ],\r\n \"outline_width\": [\r\n [\r\n 15,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": [\r\n [\r\n 7,\r\n \"#dfe0e4ff\"\r\n ],\r\n [\r\n 15,\r\n \"#dfe0e4ff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường nhỏ\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_unclassified_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"unclassified\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"unclassified\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_residential_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"residential\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 14,\r\n 1\r\n ],\r\n [\r\n 15,\r\n 2\r\n ],\r\n [\r\n 16,\r\n 4\r\n ],\r\n [\r\n 17,\r\n 7\r\n ],\r\n [\r\n 18,\r\n 10\r\n ],\r\n [\r\n 19,\r\n 20\r\n ]\r\n ],\r\n \"color\": [\r\n [\r\n 14,\r\n \"#e8e8e8ff\"\r\n ],\r\n [\r\n 15,\r\n \"#ffffffff\"\r\n ]\r\n ],\r\n \"outline_width\": [\r\n [\r\n 15,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": [\r\n [\r\n 7,\r\n \"#dfe0e4ff\"\r\n ],\r\n [\r\n 15,\r\n \"#dfe0e4ff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường trong khu dân cư\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_residential_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"residential\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"residential\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_footway_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"footway\",\r\n \"pedestrian\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 16,\r\n 2\r\n ]\r\n ],\r\n \"color\": \"#5bb974ff\",\r\n \"outline_width\": [\r\n [\r\n 16,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#f8f9faff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường Ä‘i dạo, Ä‘i bá»™\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_footway_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"minor_road\",\r\n \"path\"\r\n ],\r\n \"kind_detail\": [\r\n \"footway\",\r\n \"pedestrian\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"footway\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_construction_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"construction\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 14,\r\n 1\r\n ],\r\n [\r\n 15,\r\n 2\r\n ]\r\n ],\r\n \"color\": \"#DDDFE3\",\r\n \"outline_width\": [\r\n [\r\n 14,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": [\r\n [\r\n 7,\r\n \"#dfe0e4ff\"\r\n ],\r\n [\r\n 15,\r\n \"#dfe0e4ff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường Ä‘ang xây dá»±ng\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_construction_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"construction\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"construction\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_rail_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"rail\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 10,\r\n 2\r\n ]\r\n ],\r\n \"color\": [\r\n [\r\n 10,\r\n \"#b9c0c5ff\"\r\n ]\r\n ],\r\n \"outline_width\": [\r\n [\r\n 13,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#e4a421ff\",\r\n \"pattern\": \"dashdash\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường sắt\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_rail_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"rail\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"rail\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_aeroway_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"aeroway\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 13,\r\n 2\r\n ],\r\n [\r\n 15,\r\n 6\r\n ]\r\n ],\r\n \"color\": \"#f8f9faff\",\r\n \"outline_width\": [\r\n [\r\n 10,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": \"#dfe0e4ff\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường băng\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_aeroway_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"aeroway\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"aeroway\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_ferry_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"ferry\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 5,\r\n 1\r\n ]\r\n ],\r\n \"color\": \"#206cb7ff\",\r\n \"outline_width\": 1,\r\n \"outline_color\": [\r\n [\r\n 7,\r\n \"#dfe0e4ff\"\r\n ],\r\n [\r\n 15,\r\n \"#dfe0e4ff\"\r\n ]\r\n ],\r\n \"pattern\": \"dashdash\"\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường phà\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_ferry_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"ferry\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 12,\r\n \"text_color\": \"#185abcff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"ferry\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_roads_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 10,\r\n 1\r\n ]\r\n ],\r\n \"color\": \"#FFF\",\r\n \"outline_width\": [\r\n [\r\n 13,\r\n 1\r\n ]\r\n ],\r\n \"outline_color\": [\r\n [\r\n 7,\r\n \"#dfe0e4ff\"\r\n ],\r\n [\r\n 15,\r\n \"#dfe0e4ff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"name\": \"Đường khác\",\r\n \"group\": \"Đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"roads_roads_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"roads\",\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 8,\r\n 10\r\n ],\r\n [\r\n 17,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"roads\",\r\n \"group\": \"Tên đường giao thông\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_boundaries_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 2,\r\n 0\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"key\": \"boundaries\",\r\n \"group\": \"Đường ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_boundaries_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"draw\": {\r\n \"text_size\": 10,\r\n \"text_color\": \"#798083\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"boundaries\",\r\n \"group\": \"Tên ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_country_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind_detail\": [\r\n \"2\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 2,\r\n 1\r\n ]\r\n ],\r\n \"color\": \"#7f7f7ffc\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"country\",\r\n \"group\": \"Đường ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_country_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind_detail\": [\r\n \"2\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 10,\r\n \"text_color\": \"#000000ff\",\r\n \"text_halo_color\": \"#ffffffff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"country\",\r\n \"group\": \"Tên ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_province_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"province\",\r\n \"province_sf\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 5,\r\n 1\r\n ],\r\n [\r\n 11,\r\n 0\r\n ]\r\n ],\r\n \"pattern\": \"dashdash\",\r\n \"color\": [\r\n [\r\n 7,\r\n \"#BDBDBD\"\r\n ],\r\n [\r\n 8,\r\n \"#8a8a8aff\"\r\n ]\r\n ]\r\n },\r\n \"metadata\": {\r\n \"key\": \"province\",\r\n \"group\": \"Đường ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_province_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"province\",\r\n \"province_sf\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 10,\r\n \"text_color\": \"#798083\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"province\",\r\n \"group\": \"Tên ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_district_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"district\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 11,\r\n 1\r\n ]\r\n ],\r\n \"pattern\": \"dashdash\",\r\n \"color\": \"#8a8a8aff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"district\",\r\n \"group\": \"Đường ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_district_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"district\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 10,\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"district\",\r\n \"group\": \"Tên ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_ward_line\",\r\n \"type\": \"line\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"ward\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"width\": [\r\n [\r\n 14,\r\n 0\r\n ]\r\n ],\r\n \"pattern\": \"dashdash\",\r\n \"color\": \"#8a8a8aff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"ward\",\r\n \"group\": \"Đường ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"boundaries_ward_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"boundaries\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"ward\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": 10,\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"ward\",\r\n \"group\": \"Tên ranh giá»›i\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_places_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"draw\": {\r\n \"text_size\": 0,\r\n \"text_color\": \"#505050\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"places\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_country_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"country\",\r\n \"country_sf\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 2,\r\n 9\r\n ],\r\n [\r\n 5,\r\n 12\r\n ],\r\n [\r\n 6,\r\n 18\r\n ],\r\n [\r\n 9,\r\n 0\r\n ]\r\n ],\r\n \"text_color\": \"#232323ff\",\r\n \"text_halo_color\": \"#ffffffff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"country\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_archipelago_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"archipelago\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 5,\r\n 9\r\n ],\r\n [\r\n 6,\r\n 12\r\n ],\r\n [\r\n 8,\r\n 14\r\n ]\r\n ],\r\n \"text_color\": \"#181818ff\",\r\n \"text_halo_color\": \"#ffffffff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"archipelago\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_sea_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"sea\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 4,\r\n 7\r\n ],\r\n [\r\n 5,\r\n 9\r\n ],\r\n [\r\n 6,\r\n 12\r\n ],\r\n [\r\n 7,\r\n 12\r\n ],\r\n [\r\n 8,\r\n 12\r\n ],\r\n [\r\n 10,\r\n 12\r\n ]\r\n ],\r\n \"text_color\": \"#232323ff\",\r\n \"text_halo_color\": \"#ffffffff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"sea\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_island_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"island\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 6,\r\n 9\r\n ]\r\n ],\r\n \"text_color\": \"#232323ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"island\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_islet_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"islet\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 12,\r\n 10\r\n ]\r\n ],\r\n \"text_color\": \"#121212ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"islet\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_province_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"province\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 7,\r\n 9\r\n ],\r\n [\r\n 8,\r\n 16\r\n ],\r\n [\r\n 10,\r\n 20\r\n ],\r\n [\r\n 14,\r\n 0\r\n ]\r\n ],\r\n \"text_color\": \"#565D67\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"province\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_city_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"province\"\r\n ],\r\n \"kind_detail\": [\r\n \"city\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 5,\r\n 12\r\n ],\r\n [\r\n 8,\r\n 18\r\n ],\r\n [\r\n 10,\r\n 20\r\n ],\r\n [\r\n 14,\r\n 0\r\n ]\r\n ],\r\n \"text_color\": \"#1d1f20ff\",\r\n \"text_halo_color\": \"#ffffffff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"city\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_district_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"district\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 11,\r\n 12\r\n ],\r\n [\r\n 13,\r\n 13\r\n ],\r\n [\r\n 14,\r\n 0\r\n ]\r\n ],\r\n \"text_color\": \"#4e5256ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"district\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_ward_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"ward\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 14,\r\n 10\r\n ],\r\n [\r\n 15,\r\n 11\r\n ],\r\n [\r\n 17,\r\n 0\r\n ]\r\n ],\r\n \"text_color\": \"#414448ff\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"ward\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"places_hamlet_label\",\r\n \"type\": \"label\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"places\",\r\n \"filter\": {\r\n \"kind\": \"hamlet\"\r\n },\r\n \"draw\": {\r\n \"text_size\": [\r\n [\r\n 15,\r\n 9\r\n ]\r\n ],\r\n \"text_color\": \"#505050\",\r\n \"text_halo_color\": \"#FFF\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"hamlet\",\r\n \"group\": \"Tên địa giá»›i hành chính\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_pois_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 1,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"pois\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_cafe_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"cafe\",\r\n \"milk_tea\",\r\n \"drink\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 19,\r\n \"icon_color\": \"#f19800ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f19800ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"cafe\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_store_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"car_dealer\",\r\n \"motorcycle_dealer\",\r\n \"bicycle_store\",\r\n \"car_rental\",\r\n \"motorcycle_rental\",\r\n \"cosmetic_store\",\r\n \"mommy_store\",\r\n \"clothing_store\",\r\n \"glasses_store\",\r\n \"shoe_store\",\r\n \"electronics_store\",\r\n \"cellphone_store\",\r\n \"computer_store\",\r\n \"store\",\r\n \"fruit_shop\",\r\n \"florist\",\r\n \"sports_store\",\r\n \"toy_store\",\r\n \"furniture_store\",\r\n \"home_goods_store\",\r\n \"jewelry_store\",\r\n \"book_store\",\r\n \"pet_store\",\r\n \"liquor_store\",\r\n \"gift_shop\",\r\n \"building_materials_store\",\r\n \"musical_instrument_store\",\r\n \"electrical_supply_store\",\r\n \"second_hand_store\",\r\n \"fuel_store\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 2,\r\n \"icon_color\": \"#5491f5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#5491f5ff\",\r\n \"text_halo_color\": \"#fdfdfdff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"store\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_market_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"food_store\",\r\n \"convenience_store\",\r\n \"local_market\",\r\n \"supermarket\",\r\n \"grocery_store\",\r\n \"shopping_mall\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 3,\r\n \"icon_color\": \"#5491f5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#5491f5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"market\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_atm_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"atm\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 4,\r\n \"icon_color\": \"#7985caff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#7985caff\",\r\n \"text_halo_color\": \"#fdfdfdff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"atm\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_bank_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"bank\",\r\n \"treasury\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 5,\r\n \"icon_color\": \"#7985caff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#7985caff\",\r\n \"text_halo_color\": \"#fdfdfdff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"bank\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_pharmacy_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"pharmacy\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 6,\r\n \"icon_color\": \"#ec685cff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#ec685cff\",\r\n \"text_halo_color\": \"#fdfdfdff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"pharmacy\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_hospital_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"health\",\r\n \"hospital\",\r\n \"doctor\",\r\n \"physiotherapist\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 7,\r\n \"icon_color\": \"#ec685cff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#ec685cff\",\r\n \"text_halo_color\": \"#fdfdfdff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"hospital\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_dentist_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"dentist\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 8,\r\n \"icon_color\": \"#ec685cff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#ec685cff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"dentist\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_bus_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"bus_station\",\r\n \"transit_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 10,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"bus_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_airport_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"airport\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 11,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"airport\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_train_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"train_station\",\r\n \"subway_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 12,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"train_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_bus_stop_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"bus_stop\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 54,\r\n \"icon_color\": \"#2e7dfeff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#2e7dfeff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"bus_stop\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_charging_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"charging_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 13,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"charging_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_gas_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"gas_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 14,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"gas_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_parking_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"parking\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 15,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"parking\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_school_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"preschool\",\r\n \"primary_school\",\r\n \"secondary_school\",\r\n \"high_school\",\r\n \"university\",\r\n \"college\",\r\n \"driving_school\",\r\n \"language_center\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 16,\r\n \"icon_color\": \"#78909cff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#78909cff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"school\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_hotel_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"lodging\",\r\n \"hotel\",\r\n \"apartment\",\r\n \"guest_house\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 17,\r\n \"icon_color\": \"#f06292ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f06292ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"hotel\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_pagoda_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"pagoda\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 22,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"pagoda\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_temple_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"temple\",\r\n \"worship\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 23,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"temple\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_church_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"church\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 24,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"church\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_storage_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"storage\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 25,\r\n \"icon_color\": \"#00bcfcff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#00bcfcff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"storage\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_industrial_zone_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"industrial_zone\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 26,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"industrial_zone\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_campground_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"campground\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 27,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"campground\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_museum_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"museum\",\r\n \"art_gallery\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 28,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"museum\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_public_beach_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"public_beach\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 52,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"public_beach\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_gym_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"gym\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 29,\r\n \"icon_color\": \"#8d70d5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#8d70d5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"gym\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_sports_center_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"sports_center\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 30,\r\n \"icon_color\": \"#8d70d5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#8d70d5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"sports_center\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_stadium_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"stadium\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 31,\r\n \"icon_color\": \"#8d70d5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#8d70d5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"stadium\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_park_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"park\",\r\n \"zoo\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 32,\r\n \"icon_color\": \"#34a853ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#34a853ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"park\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_golf_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"golf\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 33,\r\n \"icon_color\": \"#8d70d5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#8d70d5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"golf\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_amusement_park_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"amusement_park\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 34,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"amusement_park\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_cinema_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"cinema\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 34,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"cinema\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_library_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"library\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 36,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"library\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_theater_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"theater\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 37,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"theater\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_spa_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"spa\",\r\n \"hair_care\",\r\n \"beauty_salon\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 38,\r\n \"icon_color\": \"#8d70d5ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#8d70d5ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"spa\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_casino_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"casino\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 39,\r\n \"icon_color\": \"#12b5cbff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#12b5cbff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"casino\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_courthouse_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"courthouse\",\r\n \"lawyer\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 40,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"courthouse\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_police_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"police\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 41,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"police\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_committee_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"committee\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 42,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"committee\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_political_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"political\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 43,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"political\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_community_center_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"community_center\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 44,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"community_center\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_fire_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"fire_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 45,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"fire_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_post_office_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"post_office\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 46,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"post_office\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_veterinary_care_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"veterinary_care\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 9,\r\n \"icon_color\": \"#f56357ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f56357ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"veterinary_care\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_public_restroom_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"public_restroom\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 47,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"public_restroom\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_cemetery_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"cemetery\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 48,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"cemetery\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_bridge_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"bridge\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 49,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"bridge\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_power_station_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"power_station\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 51,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"power_station\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_resort_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"resort\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 18,\r\n \"icon_color\": \"#f06292ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f06292ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"resort\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_food_service_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"food_service\",\r\n \"bakery\",\r\n \"eatery\",\r\n \"fast_food\",\r\n \"sweet_soup\",\r\n \"ice_cream_shop\",\r\n \"take_away\",\r\n \"restaurant\",\r\n \"beer_bar\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 20,\r\n \"icon_color\": \"#f19800ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f19800ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"food_service\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_tourist_attraction_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"tourist_attraction\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 53,\r\n \"icon_color\": \"#00bcfcff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#00bcfcff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"tourist_attraction\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_bar_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"bar\",\r\n \"pub\",\r\n \"karaoke\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 21,\r\n \"icon_color\": \"#f19800ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#f19800ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"bar\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"pois_harbour_symbol\",\r\n \"type\": \"symbol\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"pois\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"harbour\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"icon_image\": \"pois\",\r\n \"icon_index\": 50,\r\n \"icon_color\": \"#678899ff\",\r\n \"text_size\": 12,\r\n \"text_color\": \"#678899ff\",\r\n \"text_halo_color\": \"#fdfdfd\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"harbour\",\r\n \"group\": \"Địa Ä‘iểm\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_landuse_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"draw\": {},\r\n \"metadata\": {\r\n \"key\": \"landuse\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_aerodrome_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"aerodrome\",\r\n \"apron\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#e8eaedff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"aerodrome\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_grass_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"grass\",\r\n \"forest\",\r\n \"park\",\r\n \"theme_park\",\r\n \"grassland\",\r\n \"natural_wood\",\r\n \"garden\",\r\n \"cemetery\",\r\n \"attraction\",\r\n \"golf_course\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#ceead6ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"grass\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_hospital_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"hospital\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#FCE8E6\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"hospital\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_university_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"university\",\r\n \"school\",\r\n \"college\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#F6F7F9\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"university\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_stadium_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"stadium\",\r\n \"pitch\",\r\n \"sports_centre\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#ceead6ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"stadium\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_beach_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"beach\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#f1e9d7ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"beach\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_pedestrian_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"pedestrian\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#ebf7edff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"pedestrian\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_substation_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"substation\",\r\n \"power_line\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#e6e8eaff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"substation\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"landuse_urban_area_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"landuse\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"urban_area\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#E2E4E6\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"urban_area\",\r\n \"group\": \"Các bề mặt\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"buildings_buildings_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"buildings\",\r\n \"draw\": {\r\n \"color\": \"#fef7e0ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"buildings\",\r\n \"group\": \"Công trình xây dá»±ng\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"buildings_building_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"buildings\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"building\",\r\n \"building_part\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#e6e8eaff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"building\",\r\n \"group\": \"Công trình xây dá»±ng\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"buildings_roof_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"buildings\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"building\",\r\n \"building_part\"\r\n ],\r\n \"kind_detail\": [\r\n \"roof\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#fef7e0ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"roof\",\r\n \"group\": \"Công trình xây dá»±ng\",\r\n \"isDefault\": true\r\n }\r\n },\r\n {\r\n \"id\": \"buildings_entrance_exit_fill\",\r\n \"type\": \"fill\",\r\n \"source\": \"map4d\",\r\n \"source_layer\": \"buildings\",\r\n \"filter\": {\r\n \"kind\": [\r\n \"entrance\",\r\n \"exit\"\r\n ]\r\n },\r\n \"draw\": {\r\n \"color\": \"#fef7e0ff\"\r\n },\r\n \"metadata\": {\r\n \"key\": \"entrance_exit\",\r\n \"group\": \"Công trình xây dá»±ng\",\r\n \"isDefault\": true\r\n }\r\n }\r\n ],\r\n \"tool-version\": \"2.0.1\",\r\n \"version\": 2\r\n}\r\n\r\nexport default defaultRoadmapStyle\r\n"],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildGeojsonStyle = buildGeojsonStyle;
7
+ exports.createCategoryItemsSignature = createCategoryItemsSignature;
8
+
9
+ var _DefaultRoadmapStyle = _interopRequireDefault(require("./DefaultRoadmapStyle"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+
13
+ const GEOJSON_SOURCE_NAME = 'geojson';
14
+
15
+ function deepClone(value) {
16
+ return JSON.parse(JSON.stringify(value));
17
+ }
18
+
19
+ function toStyleObject(mapStyle) {
20
+ const defaultStyle = deepClone(_DefaultRoadmapStyle.default);
21
+
22
+ if (mapStyle == null) {
23
+ return defaultStyle;
24
+ }
25
+
26
+ if (typeof mapStyle === 'string') {
27
+ try {
28
+ return JSON.parse(mapStyle);
29
+ } catch (error) {
30
+ return defaultStyle;
31
+ }
32
+ }
33
+
34
+ if (typeof mapStyle === 'object' && !Array.isArray(mapStyle)) {
35
+ try {
36
+ return deepClone(mapStyle);
37
+ } catch (error) {
38
+ return defaultStyle;
39
+ }
40
+ }
41
+
42
+ return defaultStyle;
43
+ }
44
+
45
+ function generateLayerStyle(source, items) {
46
+ const layers = [];
47
+ items.forEach(item => {
48
+ const key = item === null || item === void 0 ? void 0 : item.key;
49
+ const style = item === null || item === void 0 ? void 0 : item.style;
50
+
51
+ if (!key || !style || typeof style !== 'object') {
52
+ return;
53
+ }
54
+
55
+ if (Array.isArray(style.line)) {
56
+ style.line.forEach((line, index) => {
57
+ layers.push({
58
+ id: `${key}-line-${index}`,
59
+ type: 'line',
60
+ source,
61
+ source_layer: line.layer,
62
+ filter: line.filter,
63
+ draw: line.draw
64
+ });
65
+ });
66
+ }
67
+
68
+ if (Array.isArray(style.fill)) {
69
+ style.fill.forEach((fill, index) => {
70
+ layers.push({
71
+ id: `${key}-fill-${index}`,
72
+ type: 'fill',
73
+ source,
74
+ source_layer: fill.layer,
75
+ filter: fill.filter,
76
+ draw: fill.draw
77
+ });
78
+ });
79
+ }
80
+
81
+ if (Array.isArray(style.symbol)) {
82
+ style.symbol.forEach((symbol, index) => {
83
+ layers.push({
84
+ id: `${key}-symbol-${index}`,
85
+ type: 'symbol',
86
+ source,
87
+ source_layer: symbol.layer,
88
+ filter: symbol.filter,
89
+ draw: symbol.draw
90
+ });
91
+ });
92
+ }
93
+ });
94
+ return layers;
95
+ }
96
+
97
+ function createCategoryItemsSignature(items) {
98
+ if (!Array.isArray(items)) {
99
+ return '';
100
+ }
101
+
102
+ const normalized = items.map(item => ({
103
+ key: (item === null || item === void 0 ? void 0 : item.key) || '',
104
+ checked: !!(item !== null && item !== void 0 && item.checked),
105
+ style: (item === null || item === void 0 ? void 0 : item.style) || null
106
+ }));
107
+ return JSON.stringify(normalized);
108
+ }
109
+
110
+ function buildGeojsonStyle(mapStyle, sourceUrl, items) {
111
+ const result = toStyleObject(mapStyle);
112
+ result.sources = result.sources || {};
113
+ const defaultGeojsonSource = typeof result.sources[GEOJSON_SOURCE_NAME] === 'object' && result.sources[GEOJSON_SOURCE_NAME] !== null ? result.sources[GEOJSON_SOURCE_NAME] : {};
114
+ result.sources[GEOJSON_SOURCE_NAME] = { ...defaultGeojsonSource,
115
+ type: 'vector'
116
+ };
117
+
118
+ if (typeof sourceUrl === 'string' && sourceUrl.trim().length > 0) {
119
+ result.sources[GEOJSON_SOURCE_NAME].url = sourceUrl;
120
+ }
121
+
122
+ const normalizeItems = Array.isArray(items) ? items : [];
123
+ const layerStyle = generateLayerStyle(GEOJSON_SOURCE_NAME, normalizeItems);
124
+ const baseLayers = (Array.isArray(result.layers) ? result.layers : []).filter(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
+ result.layers = baseLayers.concat(layerStyle);
137
+ return JSON.stringify(result);
138
+ }
139
+ //# sourceMappingURL=GeojsonStyleUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GEOJSON_SOURCE_NAME","deepClone","value","JSON","parse","stringify","toStyleObject","mapStyle","defaultStyle","defaultRoadmapStyle","error","Array","isArray","generateLayerStyle","source","items","layers","forEach","item","key","style","line","index","push","id","type","source_layer","layer","filter","draw","fill","symbol","createCategoryItemsSignature","normalized","map","checked","buildGeojsonStyle","sourceUrl","result","sources","defaultGeojsonSource","trim","length","url","normalizeItems","layerStyle","baseLayers","metadata","managedBy","concat"],"sources":["GeojsonStyleUtils.js"],"sourcesContent":["import defaultRoadmapStyle from './DefaultRoadmapStyle';\r\n\r\nconst GEOJSON_SOURCE_NAME = 'geojson';\r\n\r\nfunction deepClone(value) {\r\n return JSON.parse(JSON.stringify(value));\r\n}\r\n\r\nfunction toStyleObject(mapStyle) {\r\n const defaultStyle = deepClone(defaultRoadmapStyle);\r\n if (mapStyle == null) {\r\n return defaultStyle;\r\n }\r\n\r\n if (typeof mapStyle === 'string') {\r\n try {\r\n return JSON.parse(mapStyle);\r\n } catch (error) {\r\n return defaultStyle;\r\n }\r\n }\r\n\r\n if (typeof mapStyle === 'object' && !Array.isArray(mapStyle)) {\r\n try {\r\n return deepClone(mapStyle);\r\n } catch (error) {\r\n return defaultStyle;\r\n }\r\n }\r\n\r\n return defaultStyle;\r\n}\r\n\r\nfunction generateLayerStyle(source, items) {\r\n const layers = [];\r\n\r\n items.forEach((item) => {\r\n const key = item?.key;\r\n const style = item?.style;\r\n if (!key || !style || typeof style !== 'object') {\r\n return;\r\n }\r\n\r\n if (Array.isArray(style.line)) {\r\n style.line.forEach((line, index) => {\r\n layers.push({\r\n id: `${key}-line-${index}`,\r\n type: 'line',\r\n source,\r\n source_layer: line.layer,\r\n filter: line.filter,\r\n draw: line.draw,\r\n });\r\n });\r\n }\r\n\r\n if (Array.isArray(style.fill)) {\r\n style.fill.forEach((fill, index) => {\r\n layers.push({\r\n id: `${key}-fill-${index}`,\r\n type: 'fill',\r\n source,\r\n source_layer: fill.layer,\r\n filter: fill.filter,\r\n draw: fill.draw,\r\n });\r\n });\r\n }\r\n\r\n if (Array.isArray(style.symbol)) {\r\n style.symbol.forEach((symbol, index) => {\r\n layers.push({\r\n id: `${key}-symbol-${index}`,\r\n type: 'symbol',\r\n source,\r\n source_layer: symbol.layer,\r\n filter: symbol.filter,\r\n draw: symbol.draw,\r\n });\r\n });\r\n }\r\n });\r\n\r\n return layers;\r\n}\r\n\r\nfunction createCategoryItemsSignature(items) {\r\n if (!Array.isArray(items)) {\r\n return '';\r\n }\r\n\r\n const normalized = items.map((item) => ({\r\n key: item?.key || '',\r\n checked: !!item?.checked,\r\n style: item?.style || null,\r\n }));\r\n\r\n return JSON.stringify(normalized);\r\n}\r\n\r\nfunction buildGeojsonStyle(mapStyle, sourceUrl, items) {\r\n const result = toStyleObject(mapStyle);\r\n result.sources = result.sources || {};\r\n\r\n const defaultGeojsonSource =\r\n typeof result.sources[GEOJSON_SOURCE_NAME] === 'object' &&\r\n result.sources[GEOJSON_SOURCE_NAME] !== null\r\n ? result.sources[GEOJSON_SOURCE_NAME]\r\n : {};\r\n\r\n result.sources[GEOJSON_SOURCE_NAME] = {\r\n ...defaultGeojsonSource,\r\n type: 'vector',\r\n };\r\n\r\n if (typeof sourceUrl === 'string' && sourceUrl.trim().length > 0) {\r\n result.sources[GEOJSON_SOURCE_NAME].url = sourceUrl;\r\n }\r\n\r\n const normalizeItems = Array.isArray(items) ? items : [];\r\n const layerStyle = generateLayerStyle(GEOJSON_SOURCE_NAME, normalizeItems);\r\n\r\n const baseLayers = (Array.isArray(result.layers) ? result.layers : []).filter(\r\n (layer) => {\r\n if (!layer || typeof layer !== 'object') {\r\n return false;\r\n }\r\n\r\n if (layer.source_layer === 'pois') {\r\n return false;\r\n }\r\n\r\n const metadata = layer.metadata;\r\n return !(metadata && metadata.managedBy === 'MFBanDoSo');\r\n }\r\n );\r\n\r\n result.layers = baseLayers.concat(layerStyle);\r\n\r\n return JSON.stringify(result);\r\n}\r\n\r\nexport { buildGeojsonStyle, createCategoryItemsSignature };\r\n"],"mappings":"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"}
@@ -3,6 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "AreaFocuser", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AreaFocuser.AreaFocuser;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "MFBanDoSo", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _MFBanDoSo.MFBanDoSo;
16
+ }
17
+ });
6
18
  Object.defineProperty(exports, "MFBuilding", {
7
19
  enumerable: true,
8
20
  get: function () {
@@ -60,6 +72,8 @@ Object.defineProperty(exports, "MFTileOverlay", {
60
72
 
61
73
  var _MFMapView = require("./components/MFMapView");
62
74
 
75
+ var _MFBanDoSo = require("./components/MFBanDoSo");
76
+
63
77
  var _MFMarker = require("./components/MFMarker");
64
78
 
65
79
  var _MFCircle = require("./components/MFCircle");
@@ -75,4 +89,6 @@ var _MFDirectionsRenderer = require("./components/MFDirectionsRenderer");
75
89
  var _MFTileOverlay = require("./components/MFTileOverlay");
76
90
 
77
91
  var _MFBuilding = require("./components/MFBuilding");
92
+
93
+ var _AreaFocuser = require("./components/extends/AreaFocuser");
78
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["import {MFMapView} from './components/MFMapView'\nimport {MFMarker} from './components/MFMarker'\nimport {MFCircle} from './components/MFCircle'\nimport {MFPolyline} from './components/MFPolyline'\nimport {MFPolygon} from './components/MFPolygon'\nimport {MFPOI} from './components/MFPOI'\nimport {MFDirectionsRenderer} from './components/MFDirectionsRenderer'\nimport {MFTileOverlay} from './components/MFTileOverlay'\nimport {MFBuilding} from './components/MFBuilding'\n\nexport {\n MFMapView,\n MFMarker,\n MFCircle,\n MFPolyline,\n MFPolygon,\n MFPOI,\n MFDirectionsRenderer,\n MFTileOverlay,\n MFBuilding,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["import {MFMapView} from './components/MFMapView'\r\nimport { MFBanDoSo } from './components/MFBanDoSo'\r\nimport {MFMarker} from './components/MFMarker'\r\nimport {MFCircle} from './components/MFCircle'\r\nimport {MFPolyline} from './components/MFPolyline'\r\nimport {MFPolygon} from './components/MFPolygon'\r\nimport {MFPOI} from './components/MFPOI'\r\nimport {MFDirectionsRenderer} from './components/MFDirectionsRenderer'\r\nimport {MFTileOverlay} from './components/MFTileOverlay'\r\nimport {MFBuilding} from './components/MFBuilding'\r\nimport {AreaFocuser} from './components/extends/AreaFocuser'\r\n\r\nexport {\r\n MFMapView,\r\n MFBanDoSo,\r\n MFMarker,\r\n MFCircle,\r\n MFPolyline,\r\n MFPolygon,\r\n MFPOI,\r\n MFDirectionsRenderer,\r\n MFTileOverlay,\r\n MFBuilding,\r\n AreaFocuser,\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}