@tarojs/components 3.7.0-canary.6 → 3.8.0-canary.1

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 (710) hide show
  1. package/LICENSE +14 -0
  2. package/dist/cjs/{index-e751dfe3.js → index-5b029707.js} +208 -2
  3. package/dist/cjs/{index-dfd8638f.js → index-8a70c333.js} +6 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/taro-ad-core.cjs.entry.js +1 -1
  6. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +1 -1
  7. package/dist/cjs/taro-animation-video-core.cjs.entry.js +1 -1
  8. package/dist/cjs/taro-animation-view-core.cjs.entry.js +1 -1
  9. package/dist/cjs/taro-ar-camera-core.cjs.entry.js +1 -1
  10. package/dist/cjs/taro-audio-core.cjs.entry.js +2 -2
  11. package/dist/cjs/taro-aweme-data-core.cjs.entry.js +1 -1
  12. package/dist/cjs/taro-block-core.cjs.entry.js +1 -1
  13. package/dist/cjs/taro-button-core.cjs.entry.js +2 -2
  14. package/dist/cjs/taro-camera-core.cjs.entry.js +1 -1
  15. package/dist/cjs/taro-canvas-core.cjs.entry.js +2 -2
  16. package/dist/cjs/taro-channel-live-core.cjs.entry.js +1 -1
  17. package/dist/cjs/taro-channel-video-core.cjs.entry.js +1 -1
  18. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +2 -2
  19. package/dist/cjs/taro-comment-detail-core.cjs.entry.js +1 -1
  20. package/dist/cjs/taro-comment-list-core.cjs.entry.js +1 -1
  21. package/dist/cjs/taro-components.cjs.js +2 -2
  22. package/dist/cjs/taro-contact-button-core.cjs.entry.js +1 -1
  23. package/dist/cjs/taro-cover-image-core.cjs.entry.js +2 -2
  24. package/dist/cjs/taro-cover-view-core.cjs.entry.js +1 -1
  25. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +1 -1
  26. package/dist/cjs/taro-draggable-sheet-core.cjs.entry.js +21 -0
  27. package/dist/cjs/taro-editor-core.cjs.entry.js +1 -1
  28. package/dist/cjs/taro-follow-swan-core.cjs.entry.js +1 -1
  29. package/dist/cjs/taro-form-core.cjs.entry.js +1 -1
  30. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +1 -1
  31. package/dist/cjs/taro-grid-builder-core.cjs.entry.js +21 -0
  32. package/dist/cjs/taro-grid-view-core.cjs.entry.js +1 -1
  33. package/dist/cjs/taro-icon-core.cjs.entry.js +4 -1
  34. package/dist/cjs/taro-image-core.cjs.entry.js +6 -5
  35. package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js +1 -1
  36. package/dist/cjs/taro-input-core.cjs.entry.js +2 -2
  37. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +1 -1
  38. package/dist/cjs/taro-label-core.cjs.entry.js +1 -1
  39. package/dist/cjs/taro-lifestyle-core.cjs.entry.js +1 -1
  40. package/dist/cjs/taro-like-core.cjs.entry.js +1 -1
  41. package/dist/cjs/taro-list-builder-core.cjs.entry.js +21 -0
  42. package/dist/cjs/taro-list-view-core.cjs.entry.js +1 -1
  43. package/dist/cjs/taro-live-player-core.cjs.entry.js +1 -1
  44. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +1 -1
  45. package/dist/cjs/taro-login-core.cjs.entry.js +1 -1
  46. package/dist/cjs/taro-lottie-core.cjs.entry.js +1 -1
  47. package/dist/cjs/taro-map-core.cjs.entry.js +1325 -6
  48. package/dist/cjs/taro-match-media-core.cjs.entry.js +1 -1
  49. package/dist/cjs/taro-movable-area-core_2.cjs.entry.js +8 -5
  50. package/dist/cjs/taro-native-slot-core.cjs.entry.js +1 -1
  51. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +1 -1
  52. package/dist/cjs/taro-navigator-core.cjs.entry.js +1 -1
  53. package/dist/cjs/taro-nested-scroll-body-core.cjs.entry.js +21 -0
  54. package/dist/cjs/taro-nested-scroll-header-core.cjs.entry.js +21 -0
  55. package/dist/cjs/taro-official-account-core.cjs.entry.js +1 -1
  56. package/dist/cjs/taro-open-container-core.cjs.entry.js +21 -0
  57. package/dist/cjs/taro-open-data-core.cjs.entry.js +1 -1
  58. package/dist/cjs/taro-page-container-core.cjs.entry.js +1 -1
  59. package/dist/cjs/taro-page-meta-core.cjs.entry.js +1 -1
  60. package/dist/cjs/taro-picker-core_2.cjs.entry.js +2 -2
  61. package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js +4 -4
  62. package/dist/cjs/taro-progress-core.cjs.entry.js +4 -1
  63. package/dist/cjs/{taro-pull-to-refresh.cjs.entry.js → taro-pull-to-refresh-core.cjs.entry.js} +19 -14
  64. package/dist/cjs/taro-radio-core_2.cjs.entry.js +1 -1
  65. package/dist/cjs/taro-rich-text-core.cjs.entry.js +2 -2
  66. package/dist/cjs/taro-root-portal-core.cjs.entry.js +1 -1
  67. package/dist/cjs/taro-rtc-room-core.cjs.entry.js +1 -1
  68. package/dist/cjs/taro-rtc-room-item-core.cjs.entry.js +1 -1
  69. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +3 -3
  70. package/dist/cjs/taro-share-element-core.cjs.entry.js +1 -1
  71. package/dist/cjs/taro-slider-core.cjs.entry.js +4 -1
  72. package/dist/cjs/taro-slot-core.cjs.entry.js +1 -1
  73. package/dist/cjs/taro-snapshot-core.cjs.entry.js +1 -1
  74. package/dist/cjs/taro-span-core.cjs.entry.js +21 -0
  75. package/dist/cjs/taro-sticky-header-core.cjs.entry.js +1 -1
  76. package/dist/cjs/taro-sticky-section-core.cjs.entry.js +1 -1
  77. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +127 -9916
  78. package/dist/cjs/taro-switch-core.cjs.entry.js +13 -12
  79. package/dist/cjs/taro-tab-item-core.cjs.entry.js +1 -1
  80. package/dist/cjs/taro-tabbar.cjs.entry.js +14 -86
  81. package/dist/cjs/taro-tabs-core.cjs.entry.js +1 -1
  82. package/dist/cjs/taro-text-core.cjs.entry.js +2 -2
  83. package/dist/cjs/taro-textarea-core.cjs.entry.js +12 -3
  84. package/dist/cjs/taro-video-control_3.cjs.entry.js +38 -8
  85. package/dist/cjs/taro-view-core.cjs.entry.js +2 -2
  86. package/dist/cjs/taro-voip-room-core.cjs.entry.js +1 -1
  87. package/dist/cjs/taro-web-view-core.cjs.entry.js +2 -2
  88. package/dist/collection/collection-manifest.json +7 -0
  89. package/dist/collection/components/audio/style/index.css +1 -4
  90. package/dist/collection/components/button/style/index.css +1 -160
  91. package/dist/collection/components/canvas/style/index.css +1 -6
  92. package/dist/collection/components/checkbox/style/index.css +1 -39
  93. package/dist/collection/components/cover-image/style/index.css +1 -5
  94. package/dist/collection/components/cover-view/style/cover-view.css +1 -3
  95. package/dist/collection/components/draggable-sheet/draggable-sheet.js +11 -0
  96. package/dist/collection/components/grid-builder/grid-builder.js +11 -0
  97. package/dist/collection/components/icon/icon.js +10 -0
  98. package/dist/collection/components/icon/style/index.css +1 -0
  99. package/dist/collection/components/image/image.js +4 -3
  100. package/dist/collection/components/image/style/index.css +1 -73
  101. package/dist/collection/components/input/input.js +2 -2
  102. package/dist/collection/components/input/style/index.css +1 -0
  103. package/dist/collection/components/list-builder/list-builder.js +11 -0
  104. package/dist/collection/components/map/map.js +1806 -4
  105. package/dist/collection/components/map/style/map.css +1 -0
  106. package/dist/collection/components/movable-area/area.css +1 -6
  107. package/dist/collection/components/movable-area/movable-area.js +2 -1
  108. package/dist/collection/components/movable-area/movable-view.js +3 -1
  109. package/dist/collection/components/movable-area/view.css +1 -8
  110. package/dist/collection/components/navigator/style/index.css +1 -3
  111. package/dist/collection/components/nested-scroll-body/nested-scroll-body.js +11 -0
  112. package/dist/collection/components/nested-scroll-header/nested-scroll-header.js +11 -0
  113. package/dist/collection/components/open-container/open-container.js +11 -0
  114. package/dist/collection/components/picker/style/index.css +1 -4
  115. package/dist/collection/components/picker-view/style/column.css +1 -12
  116. package/dist/collection/components/picker-view/style/index.css +1 -28
  117. package/dist/collection/components/progress/progress.js +10 -0
  118. package/dist/collection/components/progress/style/index.css +1 -0
  119. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js +17 -12
  120. package/dist/collection/components/pull-to-refresh/style/index.css +1 -52
  121. package/dist/collection/components/rich-text/style/index.css +1 -16
  122. package/dist/collection/components/scroll-view/style/index.css +1 -17
  123. package/dist/collection/components/slider/slider.js +10 -0
  124. package/dist/collection/components/slider/style/index.css +1 -0
  125. package/dist/collection/components/span/span.js +11 -0
  126. package/dist/collection/components/swiper/style/index.css +2 -19
  127. package/dist/collection/components/swiper/swiper-item.js +54 -33
  128. package/dist/collection/components/swiper/swiper.js +90 -19
  129. package/dist/collection/components/switch/style/index.css +1 -10
  130. package/dist/collection/components/switch/switch.js +12 -12
  131. package/dist/collection/components/tabbar/style/index.css +1 -53
  132. package/dist/collection/components/tabbar/tabbar-item.js +1 -1
  133. package/dist/collection/components/tabbar/tabbar.js +5 -5
  134. package/dist/collection/components/text/style/index.css +1 -26
  135. package/dist/collection/components/textarea/style/index.css +1 -22
  136. package/dist/collection/components/textarea/textarea.js +11 -0
  137. package/dist/collection/components/video/style/index.css +1 -327
  138. package/dist/collection/components/video/video.js +9 -3
  139. package/dist/collection/components/view/style/index.css +1 -9
  140. package/dist/collection/components/web-view/style/index.css +1 -12
  141. package/dist/collection/utils/index.js +10 -0
  142. package/dist/components/index.d.ts +8 -1
  143. package/dist/components/index.js +8 -1
  144. package/dist/components/index3.js +6 -1
  145. package/dist/components/taro-audio-core.js +1 -1
  146. package/dist/components/taro-button-core.js +1 -1
  147. package/dist/components/taro-canvas-core.js +1 -1
  148. package/dist/components/taro-checkbox-core.js +1 -1
  149. package/dist/components/taro-cover-image-core.js +1 -1
  150. package/dist/components/taro-draggable-sheet-core.d.ts +11 -0
  151. package/dist/components/taro-draggable-sheet-core.js +33 -0
  152. package/dist/components/taro-grid-builder-core.d.ts +11 -0
  153. package/dist/components/taro-grid-builder-core.js +33 -0
  154. package/dist/components/taro-icon-core.js +3 -0
  155. package/dist/components/taro-image-core.js +5 -4
  156. package/dist/components/taro-input-core.js +1 -1
  157. package/dist/components/taro-list-builder-core.d.ts +11 -0
  158. package/dist/components/taro-list-builder-core.js +33 -0
  159. package/dist/components/taro-map-core.js +1349 -6
  160. package/dist/components/taro-movable-area-core.js +3 -2
  161. package/dist/components/taro-movable-view-core.js +4 -2
  162. package/dist/components/taro-nested-scroll-body-core.d.ts +11 -0
  163. package/dist/components/taro-nested-scroll-body-core.js +33 -0
  164. package/dist/components/taro-nested-scroll-header-core.d.ts +11 -0
  165. package/dist/components/taro-nested-scroll-header-core.js +33 -0
  166. package/dist/components/taro-open-container-core.d.ts +11 -0
  167. package/dist/components/taro-open-container-core.js +33 -0
  168. package/dist/components/taro-picker-core.js +1 -1
  169. package/dist/components/taro-picker-view-column-core.js +1 -1
  170. package/dist/components/taro-picker-view-core.js +1 -1
  171. package/dist/components/taro-progress-core.js +3 -0
  172. package/dist/components/taro-pull-to-refresh-core.d.ts +11 -0
  173. package/dist/components/{taro-pull-to-refresh.js → taro-pull-to-refresh-core.js} +22 -17
  174. package/dist/components/taro-rich-text-core.js +1 -1
  175. package/dist/components/taro-scroll-view-core.js +1 -1
  176. package/dist/components/taro-slider-core.js +3 -0
  177. package/dist/components/{taro-pull-to-refresh.d.ts → taro-span-core.d.ts} +4 -4
  178. package/dist/components/taro-span-core.js +33 -0
  179. package/dist/components/taro-swiper-core.js +76 -9872
  180. package/dist/components/taro-swiper-item-core.js +40 -36
  181. package/dist/components/taro-switch-core.js +13 -13
  182. package/dist/components/taro-tabbar.js +4 -77
  183. package/dist/components/taro-text-core.js +1 -1
  184. package/dist/components/taro-textarea-core.js +11 -2
  185. package/dist/components/taro-video-core.js +11 -5
  186. package/dist/components/taro-view-core.js +1 -1
  187. package/dist/components/taro-web-view-core.js +1 -1
  188. package/dist/esm/{index-d1b03e47.js → index-a00a7418.js} +6 -1
  189. package/dist/esm/{index-980f930f.js → index-ab3c86da.js} +208 -2
  190. package/dist/esm/loader.js +3 -3
  191. package/dist/esm/taro-ad-core.entry.js +1 -1
  192. package/dist/esm/taro-ad-custom-core.entry.js +1 -1
  193. package/dist/esm/taro-animation-video-core.entry.js +1 -1
  194. package/dist/esm/taro-animation-view-core.entry.js +1 -1
  195. package/dist/esm/taro-ar-camera-core.entry.js +1 -1
  196. package/dist/esm/taro-audio-core.entry.js +2 -2
  197. package/dist/esm/taro-aweme-data-core.entry.js +1 -1
  198. package/dist/esm/taro-block-core.entry.js +1 -1
  199. package/dist/esm/taro-button-core.entry.js +2 -2
  200. package/dist/esm/taro-camera-core.entry.js +1 -1
  201. package/dist/esm/taro-canvas-core.entry.js +2 -2
  202. package/dist/esm/taro-channel-live-core.entry.js +1 -1
  203. package/dist/esm/taro-channel-video-core.entry.js +1 -1
  204. package/dist/esm/taro-checkbox-core_2.entry.js +2 -2
  205. package/dist/esm/taro-comment-detail-core.entry.js +1 -1
  206. package/dist/esm/taro-comment-list-core.entry.js +1 -1
  207. package/dist/esm/taro-components.js +3 -3
  208. package/dist/esm/taro-contact-button-core.entry.js +1 -1
  209. package/dist/esm/taro-cover-image-core.entry.js +2 -2
  210. package/dist/esm/taro-cover-view-core.entry.js +1 -1
  211. package/dist/esm/taro-custom-wrapper-core.entry.js +1 -1
  212. package/dist/esm/taro-draggable-sheet-core.entry.js +17 -0
  213. package/dist/esm/taro-editor-core.entry.js +1 -1
  214. package/dist/esm/taro-follow-swan-core.entry.js +1 -1
  215. package/dist/esm/taro-form-core.entry.js +1 -1
  216. package/dist/esm/taro-functional-page-navigator-core.entry.js +1 -1
  217. package/dist/esm/taro-grid-builder-core.entry.js +17 -0
  218. package/dist/esm/taro-grid-view-core.entry.js +1 -1
  219. package/dist/esm/taro-icon-core.entry.js +4 -1
  220. package/dist/esm/taro-image-core.entry.js +6 -5
  221. package/dist/esm/taro-inline-payment-panel-core.entry.js +1 -1
  222. package/dist/esm/taro-input-core.entry.js +2 -2
  223. package/dist/esm/taro-keyboard-accessory-core.entry.js +1 -1
  224. package/dist/esm/taro-label-core.entry.js +1 -1
  225. package/dist/esm/taro-lifestyle-core.entry.js +1 -1
  226. package/dist/esm/taro-like-core.entry.js +1 -1
  227. package/dist/esm/taro-list-builder-core.entry.js +17 -0
  228. package/dist/esm/taro-list-view-core.entry.js +1 -1
  229. package/dist/esm/taro-live-player-core.entry.js +1 -1
  230. package/dist/esm/taro-live-pusher-core.entry.js +1 -1
  231. package/dist/esm/taro-login-core.entry.js +1 -1
  232. package/dist/esm/taro-lottie-core.entry.js +1 -1
  233. package/dist/esm/taro-map-core.entry.js +1321 -6
  234. package/dist/esm/taro-match-media-core.entry.js +1 -1
  235. package/dist/esm/taro-movable-area-core_2.entry.js +8 -5
  236. package/dist/esm/taro-native-slot-core.entry.js +1 -1
  237. package/dist/esm/taro-navigation-bar-core.entry.js +1 -1
  238. package/dist/esm/taro-navigator-core.entry.js +1 -1
  239. package/dist/esm/taro-nested-scroll-body-core.entry.js +17 -0
  240. package/dist/esm/taro-nested-scroll-header-core.entry.js +17 -0
  241. package/dist/esm/taro-official-account-core.entry.js +1 -1
  242. package/dist/esm/taro-open-container-core.entry.js +17 -0
  243. package/dist/esm/taro-open-data-core.entry.js +1 -1
  244. package/dist/esm/taro-page-container-core.entry.js +1 -1
  245. package/dist/esm/taro-page-meta-core.entry.js +1 -1
  246. package/dist/esm/taro-picker-core_2.entry.js +2 -2
  247. package/dist/esm/taro-picker-view-column-core_2.entry.js +4 -4
  248. package/dist/esm/taro-progress-core.entry.js +4 -1
  249. package/dist/esm/{taro-pull-to-refresh.entry.js → taro-pull-to-refresh-core.entry.js} +19 -14
  250. package/dist/esm/taro-radio-core_2.entry.js +1 -1
  251. package/dist/esm/taro-rich-text-core.entry.js +2 -2
  252. package/dist/esm/taro-root-portal-core.entry.js +1 -1
  253. package/dist/esm/taro-rtc-room-core.entry.js +1 -1
  254. package/dist/esm/taro-rtc-room-item-core.entry.js +1 -1
  255. package/dist/esm/taro-scroll-view-core.entry.js +3 -3
  256. package/dist/esm/taro-share-element-core.entry.js +1 -1
  257. package/dist/esm/taro-slider-core.entry.js +4 -1
  258. package/dist/esm/taro-slot-core.entry.js +1 -1
  259. package/dist/esm/taro-snapshot-core.entry.js +1 -1
  260. package/dist/esm/taro-span-core.entry.js +17 -0
  261. package/dist/esm/taro-sticky-header-core.entry.js +1 -1
  262. package/dist/esm/taro-sticky-section-core.entry.js +1 -1
  263. package/dist/esm/taro-swiper-core_2.entry.js +113 -9906
  264. package/dist/esm/taro-switch-core.entry.js +13 -12
  265. package/dist/esm/taro-tab-item-core.entry.js +1 -1
  266. package/dist/esm/taro-tabbar.entry.js +5 -78
  267. package/dist/esm/taro-tabs-core.entry.js +1 -1
  268. package/dist/esm/taro-text-core.entry.js +2 -2
  269. package/dist/esm/taro-textarea-core.entry.js +12 -3
  270. package/dist/esm/taro-video-control_3.entry.js +13 -7
  271. package/dist/esm/taro-view-core.entry.js +2 -2
  272. package/dist/esm/taro-voip-room-core.entry.js +1 -1
  273. package/dist/esm/taro-web-view-core.entry.js +2 -2
  274. package/dist/esm-es5/index-a00a7418.js +1 -0
  275. package/dist/esm-es5/index-ab3c86da.js +2 -0
  276. package/dist/esm-es5/loader.js +1 -1
  277. package/dist/esm-es5/taro-ad-core.entry.js +1 -1
  278. package/dist/esm-es5/taro-ad-custom-core.entry.js +1 -1
  279. package/dist/esm-es5/taro-animation-video-core.entry.js +1 -1
  280. package/dist/esm-es5/taro-animation-view-core.entry.js +1 -1
  281. package/dist/esm-es5/taro-ar-camera-core.entry.js +1 -1
  282. package/dist/esm-es5/taro-audio-core.entry.js +1 -1
  283. package/dist/esm-es5/taro-aweme-data-core.entry.js +1 -1
  284. package/dist/esm-es5/taro-block-core.entry.js +1 -1
  285. package/dist/esm-es5/taro-button-core.entry.js +1 -1
  286. package/dist/esm-es5/taro-camera-core.entry.js +1 -1
  287. package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
  288. package/dist/esm-es5/taro-channel-live-core.entry.js +1 -1
  289. package/dist/esm-es5/taro-channel-video-core.entry.js +1 -1
  290. package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
  291. package/dist/esm-es5/taro-comment-detail-core.entry.js +1 -1
  292. package/dist/esm-es5/taro-comment-list-core.entry.js +1 -1
  293. package/dist/esm-es5/taro-components.js +1 -1
  294. package/dist/esm-es5/taro-contact-button-core.entry.js +1 -1
  295. package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
  296. package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
  297. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
  298. package/dist/esm-es5/taro-draggable-sheet-core.entry.js +1 -0
  299. package/dist/esm-es5/taro-editor-core.entry.js +1 -1
  300. package/dist/esm-es5/taro-follow-swan-core.entry.js +1 -1
  301. package/dist/esm-es5/taro-form-core.entry.js +1 -1
  302. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +1 -1
  303. package/dist/esm-es5/taro-grid-builder-core.entry.js +1 -0
  304. package/dist/esm-es5/taro-grid-view-core.entry.js +1 -1
  305. package/dist/esm-es5/taro-icon-core.entry.js +1 -1
  306. package/dist/esm-es5/taro-image-core.entry.js +1 -1
  307. package/dist/esm-es5/taro-inline-payment-panel-core.entry.js +1 -1
  308. package/dist/esm-es5/taro-input-core.entry.js +1 -1
  309. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +1 -1
  310. package/dist/esm-es5/taro-label-core.entry.js +1 -1
  311. package/dist/esm-es5/taro-lifestyle-core.entry.js +1 -1
  312. package/dist/esm-es5/taro-like-core.entry.js +1 -1
  313. package/dist/esm-es5/taro-list-builder-core.entry.js +1 -0
  314. package/dist/esm-es5/taro-list-view-core.entry.js +1 -1
  315. package/dist/esm-es5/taro-live-player-core.entry.js +1 -1
  316. package/dist/esm-es5/taro-live-pusher-core.entry.js +1 -1
  317. package/dist/esm-es5/taro-login-core.entry.js +1 -1
  318. package/dist/esm-es5/taro-lottie-core.entry.js +1 -1
  319. package/dist/esm-es5/taro-map-core.entry.js +1 -1
  320. package/dist/esm-es5/taro-match-media-core.entry.js +1 -1
  321. package/dist/esm-es5/taro-movable-area-core_2.entry.js +1 -1
  322. package/dist/esm-es5/taro-native-slot-core.entry.js +1 -1
  323. package/dist/esm-es5/taro-navigation-bar-core.entry.js +1 -1
  324. package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
  325. package/dist/esm-es5/taro-nested-scroll-body-core.entry.js +1 -0
  326. package/dist/esm-es5/taro-nested-scroll-header-core.entry.js +1 -0
  327. package/dist/esm-es5/taro-official-account-core.entry.js +1 -1
  328. package/dist/esm-es5/taro-open-container-core.entry.js +1 -0
  329. package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
  330. package/dist/esm-es5/taro-page-container-core.entry.js +1 -1
  331. package/dist/esm-es5/taro-page-meta-core.entry.js +1 -1
  332. package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
  333. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +1 -1
  334. package/dist/esm-es5/taro-progress-core.entry.js +1 -1
  335. package/dist/esm-es5/taro-pull-to-refresh-core.entry.js +1 -0
  336. package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
  337. package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
  338. package/dist/esm-es5/taro-root-portal-core.entry.js +1 -1
  339. package/dist/esm-es5/taro-rtc-room-core.entry.js +1 -1
  340. package/dist/esm-es5/taro-rtc-room-item-core.entry.js +1 -1
  341. package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
  342. package/dist/esm-es5/taro-share-element-core.entry.js +1 -1
  343. package/dist/esm-es5/taro-slider-core.entry.js +1 -1
  344. package/dist/esm-es5/taro-slot-core.entry.js +1 -1
  345. package/dist/esm-es5/taro-snapshot-core.entry.js +1 -1
  346. package/dist/esm-es5/taro-span-core.entry.js +1 -0
  347. package/dist/esm-es5/taro-sticky-header-core.entry.js +1 -1
  348. package/dist/esm-es5/taro-sticky-section-core.entry.js +1 -1
  349. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  350. package/dist/esm-es5/taro-switch-core.entry.js +1 -1
  351. package/dist/esm-es5/taro-tab-item-core.entry.js +1 -1
  352. package/dist/esm-es5/taro-tabbar.entry.js +1 -1
  353. package/dist/esm-es5/taro-tabs-core.entry.js +1 -1
  354. package/dist/esm-es5/taro-text-core.entry.js +1 -1
  355. package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
  356. package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
  357. package/dist/esm-es5/taro-view-core.entry.js +1 -1
  358. package/dist/esm-es5/taro-voip-room-core.entry.js +1 -1
  359. package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
  360. package/dist/hydrate/index.d.ts +217 -0
  361. package/dist/hydrate/index.js +14586 -0
  362. package/dist/hydrate/package.json +6 -0
  363. package/dist/taro-components/p-0044961f.system.entry.js +1 -0
  364. package/dist/taro-components/p-010faa87.system.js +1 -0
  365. package/dist/taro-components/{p-2da9c8fd.entry.js → p-0132e803.entry.js} +1 -1
  366. package/dist/taro-components/{p-be96eb59.system.entry.js → p-019124ae.system.entry.js} +1 -1
  367. package/dist/taro-components/p-04f97133.system.entry.js +1 -0
  368. package/dist/taro-components/{p-c1a3fecf.system.entry.js → p-069ae782.system.entry.js} +1 -1
  369. package/dist/taro-components/{p-f23cfdc8.entry.js → p-0d8a0733.entry.js} +1 -1
  370. package/dist/taro-components/p-0f95be56.entry.js +1 -0
  371. package/dist/taro-components/p-0fe4660a.entry.js +1 -0
  372. package/dist/taro-components/{p-15624788.system.entry.js → p-1087c51a.system.entry.js} +1 -1
  373. package/dist/taro-components/p-11c0dc59.system.entry.js +1 -0
  374. package/dist/taro-components/{p-1cf16dfa.entry.js → p-12b967fd.entry.js} +1 -1
  375. package/dist/taro-components/{p-43720011.entry.js → p-13bf0192.entry.js} +1 -1
  376. package/dist/taro-components/{p-ef322936.entry.js → p-13e80cf7.entry.js} +1 -1
  377. package/dist/taro-components/{p-9ea4f297.entry.js → p-15c1ce79.entry.js} +1 -1
  378. package/dist/taro-components/{p-00ed4bbb.entry.js → p-16705ca9.entry.js} +1 -1
  379. package/dist/taro-components/{p-f420680c.system.entry.js → p-194ace03.system.entry.js} +1 -1
  380. package/dist/taro-components/p-19b04eb7.entry.js +1 -0
  381. package/dist/taro-components/{p-92d04741.system.entry.js → p-19b993d8.system.entry.js} +1 -1
  382. package/dist/taro-components/p-1acf7537.entry.js +1 -0
  383. package/dist/taro-components/p-1d102ddb.system.entry.js +1 -0
  384. package/dist/taro-components/p-25636983.entry.js +1 -0
  385. package/dist/taro-components/{p-d2e0b15c.entry.js → p-28bc8a48.entry.js} +1 -1
  386. package/dist/taro-components/p-2b70c348.system.js +2 -0
  387. package/dist/taro-components/{p-64eb91f7.entry.js → p-2d382d0e.entry.js} +1 -1
  388. package/dist/taro-components/{p-0e8199b7.entry.js → p-2ebc3182.entry.js} +1 -1
  389. package/dist/taro-components/p-2f8ebd28.system.entry.js +1 -0
  390. package/dist/taro-components/p-317c4cad.entry.js +1 -0
  391. package/dist/taro-components/p-33980e67.entry.js +1 -0
  392. package/dist/taro-components/{p-38ee526a.entry.js → p-342a2594.entry.js} +1 -1
  393. package/dist/taro-components/p-3430d520.system.entry.js +1 -0
  394. package/dist/taro-components/p-34ba9330.system.entry.js +1 -0
  395. package/dist/taro-components/{p-b07cd197.system.entry.js → p-36ea0ac1.system.entry.js} +1 -1
  396. package/dist/taro-components/{p-29638de3.entry.js → p-370cc947.entry.js} +1 -1
  397. package/dist/taro-components/p-378b504c.entry.js +1 -0
  398. package/dist/taro-components/{p-ebc7b6fc.entry.js → p-37bc198d.entry.js} +1 -1
  399. package/dist/taro-components/{p-bf0e0394.entry.js → p-39b3e34d.entry.js} +1 -1
  400. package/dist/taro-components/p-3a0a05fd.system.entry.js +1 -0
  401. package/dist/taro-components/p-3a3d40de.system.entry.js +1 -0
  402. package/dist/taro-components/{p-a4951dd6.entry.js → p-3d423adc.entry.js} +1 -1
  403. package/dist/taro-components/p-3e4b5391.system.entry.js +1 -0
  404. package/dist/taro-components/p-3eedb8d7.system.entry.js +1 -0
  405. package/dist/taro-components/{p-84958ace.entry.js → p-43932446.entry.js} +1 -1
  406. package/dist/taro-components/p-4621b303.system.entry.js +1 -0
  407. package/dist/taro-components/{p-de96861c.system.entry.js → p-46ccb393.system.entry.js} +1 -1
  408. package/dist/taro-components/p-477f8fbd.system.js +1 -0
  409. package/dist/taro-components/p-4824cc94.entry.js +1 -0
  410. package/dist/taro-components/p-48a84765.entry.js +1 -0
  411. package/dist/taro-components/{p-e740320c.entry.js → p-49e9b2ff.entry.js} +1 -1
  412. package/dist/taro-components/{p-c0080d83.entry.js → p-4a748c0d.entry.js} +1 -1
  413. package/dist/taro-components/{p-b5b30493.system.entry.js → p-4b5f75b9.system.entry.js} +1 -1
  414. package/dist/taro-components/p-4c30ea10.entry.js +1 -0
  415. package/dist/taro-components/p-4e63d3bd.entry.js +1 -0
  416. package/dist/taro-components/{p-69c43a81.entry.js → p-4fcb258a.entry.js} +1 -1
  417. package/dist/taro-components/{p-9fe49bab.entry.js → p-4ffae31c.entry.js} +1 -1
  418. package/dist/taro-components/{p-a6e2dd48.entry.js → p-50b21f94.entry.js} +1 -1
  419. package/dist/taro-components/p-5186ab96.system.entry.js +1 -0
  420. package/dist/taro-components/p-518a9b73.entry.js +1 -0
  421. package/dist/taro-components/{p-085076c5.system.entry.js → p-52ad5213.system.entry.js} +1 -1
  422. package/dist/taro-components/{p-36d4407e.system.entry.js → p-55934653.system.entry.js} +1 -1
  423. package/dist/taro-components/p-55e54f2a.system.entry.js +1 -0
  424. package/dist/taro-components/{p-0d7a705b.system.entry.js → p-562eace8.system.entry.js} +1 -1
  425. package/dist/taro-components/p-5893c3ed.js +1 -0
  426. package/dist/taro-components/{p-a2141e85.system.entry.js → p-5a78fbdf.system.entry.js} +1 -1
  427. package/dist/taro-components/{p-22bf7daf.entry.js → p-5b4de079.entry.js} +1 -1
  428. package/dist/taro-components/p-5b86e66b.system.entry.js +1 -0
  429. package/dist/taro-components/p-5bfdb5f3.entry.js +1 -0
  430. package/dist/taro-components/{p-a74c970c.system.entry.js → p-5c0f97d3.system.entry.js} +1 -1
  431. package/dist/taro-components/{p-0fa96970.entry.js → p-5dbabb65.entry.js} +1 -1
  432. package/dist/taro-components/{p-a2d590ad.entry.js → p-5f4c6ca5.entry.js} +1 -1
  433. package/dist/taro-components/{p-5994d9f2.system.entry.js → p-618ee593.system.entry.js} +1 -1
  434. package/dist/taro-components/p-62df5526.entry.js +1 -0
  435. package/dist/taro-components/{p-600e89cc.system.entry.js → p-66029061.system.entry.js} +1 -1
  436. package/dist/taro-components/{p-7726b789.system.entry.js → p-69e70cd5.system.entry.js} +1 -1
  437. package/dist/taro-components/{p-c913b635.system.entry.js → p-6c06b440.system.entry.js} +1 -1
  438. package/dist/taro-components/p-6dd357b9.entry.js +1 -0
  439. package/dist/taro-components/{p-5e91398a.system.entry.js → p-6f1034a6.system.entry.js} +1 -1
  440. package/dist/taro-components/{p-bd4ed8b1.entry.js → p-6f3187bc.entry.js} +1 -1
  441. package/dist/taro-components/{p-b201ff38.entry.js → p-6f8926e3.entry.js} +1 -1
  442. package/dist/taro-components/p-6ffc9bda.system.entry.js +1 -0
  443. package/dist/taro-components/p-751d42cb.entry.js +1 -0
  444. package/dist/taro-components/{p-124ac21f.entry.js → p-756aa971.entry.js} +1 -1
  445. package/dist/taro-components/p-76c0f443.entry.js +1 -0
  446. package/dist/taro-components/p-77e030e9.system.entry.js +1 -0
  447. package/dist/taro-components/p-7b3ce3af.system.entry.js +1 -0
  448. package/dist/taro-components/p-7b80637e.system.entry.js +1 -0
  449. package/dist/taro-components/p-7bc6aa36.entry.js +1 -0
  450. package/dist/taro-components/p-7e3f0837.entry.js +1 -0
  451. package/dist/taro-components/{p-f4d86882.entry.js → p-7f3d9184.entry.js} +1 -1
  452. package/dist/taro-components/{p-065a10d7.entry.js → p-80228985.entry.js} +1 -1
  453. package/dist/taro-components/{p-fac4ce6f.system.entry.js → p-80fa706c.system.entry.js} +1 -1
  454. package/dist/taro-components/{p-6cde54e5.system.entry.js → p-829157b1.system.entry.js} +1 -1
  455. package/dist/taro-components/p-82c5b9d3.entry.js +1 -0
  456. package/dist/taro-components/{p-3004e71a.system.entry.js → p-82d52f00.system.entry.js} +1 -1
  457. package/dist/taro-components/p-87b0d22f.entry.js +1 -0
  458. package/dist/taro-components/{p-ad9b04e0.entry.js → p-8a6e93ed.entry.js} +1 -1
  459. package/dist/taro-components/p-8b7e37c9.system.entry.js +1 -0
  460. package/dist/taro-components/{p-f78823a1.entry.js → p-8bde1f48.entry.js} +1 -1
  461. package/dist/taro-components/p-8d838f20.entry.js +1 -0
  462. package/dist/taro-components/{p-519fbe84.system.entry.js → p-90ee19f8.system.entry.js} +1 -1
  463. package/dist/taro-components/{p-fd7ff0f3.system.entry.js → p-923aa1c8.system.entry.js} +1 -1
  464. package/dist/taro-components/{p-0ec2e88a.entry.js → p-92b7b545.entry.js} +1 -1
  465. package/dist/taro-components/{p-7e8e355b.system.entry.js → p-93b39a89.system.entry.js} +1 -1
  466. package/dist/taro-components/{p-9d76d7a9.system.entry.js → p-970a4199.system.entry.js} +1 -1
  467. package/dist/taro-components/{p-ce303d12.system.entry.js → p-97177863.system.entry.js} +1 -1
  468. package/dist/taro-components/p-99440bcc.system.entry.js +1 -0
  469. package/dist/taro-components/p-9f1b0ae1.entry.js +1 -0
  470. package/dist/taro-components/p-9f3e0019.system.entry.js +1 -0
  471. package/dist/taro-components/{p-76996fcb.entry.js → p-a2f848cc.entry.js} +1 -1
  472. package/dist/taro-components/{p-aa04f605.entry.js → p-a6790f39.entry.js} +1 -1
  473. package/dist/taro-components/p-a997cf7c.system.entry.js +1 -0
  474. package/dist/taro-components/p-aa11b00c.system.entry.js +1 -0
  475. package/dist/taro-components/p-adee7f1b.system.entry.js +1 -0
  476. package/dist/taro-components/{p-bc541cd8.entry.js → p-ae99551a.entry.js} +1 -1
  477. package/dist/taro-components/p-aed23034.system.entry.js +1 -0
  478. package/dist/taro-components/p-b0f12e64.system.entry.js +1 -0
  479. package/dist/taro-components/p-b259a558.system.entry.js +1 -0
  480. package/dist/taro-components/{p-30805bdf.entry.js → p-b3129dec.entry.js} +1 -1
  481. package/dist/taro-components/p-b3419d7f.system.entry.js +1 -0
  482. package/dist/taro-components/p-b4047b11.entry.js +1 -0
  483. package/dist/taro-components/{p-da3db323.entry.js → p-b43fa9b0.entry.js} +1 -1
  484. package/dist/taro-components/p-b4707cdd.entry.js +1 -0
  485. package/dist/taro-components/{p-ccc64042.system.entry.js → p-b655e854.system.entry.js} +1 -1
  486. package/dist/taro-components/{p-5870248f.system.entry.js → p-b66dfc82.system.entry.js} +1 -1
  487. package/dist/taro-components/p-ba241824.system.entry.js +1 -0
  488. package/dist/taro-components/{p-d9dcc6c6.entry.js → p-baea6a63.entry.js} +1 -1
  489. package/dist/taro-components/{p-f2c86846.entry.js → p-c0f16127.entry.js} +1 -1
  490. package/dist/taro-components/{p-8ccaf5e8.entry.js → p-c253be9f.entry.js} +1 -1
  491. package/dist/taro-components/p-c58627f4.entry.js +1 -0
  492. package/dist/taro-components/p-c76270f4.system.entry.js +1 -0
  493. package/dist/taro-components/p-c863ac7f.system.entry.js +1 -0
  494. package/dist/taro-components/p-cc993977.system.entry.js +1 -0
  495. package/dist/taro-components/p-cee51d71.system.entry.js +1 -0
  496. package/dist/taro-components/{p-1b789738.system.entry.js → p-d12b6a84.system.entry.js} +1 -1
  497. package/dist/taro-components/{p-a5a51112.entry.js → p-d184903b.entry.js} +1 -1
  498. package/dist/taro-components/p-d29a59cd.entry.js +1 -0
  499. package/dist/taro-components/p-d6bd1a5b.entry.js +1 -0
  500. package/dist/taro-components/{p-862b38b9.entry.js → p-da4c4cad.entry.js} +1 -1
  501. package/dist/taro-components/{p-b641e598.entry.js → p-dc366f18.entry.js} +1 -1
  502. package/dist/taro-components/p-dd7a128d.js +2 -0
  503. package/dist/taro-components/{p-d1756770.entry.js → p-dde26531.entry.js} +1 -1
  504. package/dist/taro-components/{p-a90221ab.system.entry.js → p-de1d495a.system.entry.js} +1 -1
  505. package/dist/taro-components/{p-f1304456.entry.js → p-e23769c4.entry.js} +1 -1
  506. package/dist/taro-components/p-e2694a79.system.entry.js +1 -0
  507. package/dist/taro-components/{p-fbb2446e.entry.js → p-e2a22cd1.entry.js} +1 -1
  508. package/dist/taro-components/{p-21c07cb3.system.entry.js → p-e41ed824.system.entry.js} +1 -1
  509. package/dist/taro-components/p-e5a80896.system.entry.js +1 -0
  510. package/dist/taro-components/p-e5b43c80.system.entry.js +1 -0
  511. package/dist/taro-components/{p-58cc2e6d.system.entry.js → p-e6a2f1bd.system.entry.js} +1 -1
  512. package/dist/taro-components/{p-78e4805e.entry.js → p-ead6e57b.entry.js} +1 -1
  513. package/dist/taro-components/p-ebbbdde5.entry.js +1 -0
  514. package/dist/taro-components/{p-4fc40739.entry.js → p-ec00e517.entry.js} +1 -1
  515. package/dist/taro-components/p-ec0d8c41.system.entry.js +1 -0
  516. package/dist/taro-components/p-ed081b3d.entry.js +1 -0
  517. package/dist/taro-components/{p-208e438c.system.entry.js → p-eda34d91.system.entry.js} +1 -1
  518. package/dist/taro-components/{p-9e03bc7a.system.entry.js → p-ee9d6467.system.entry.js} +1 -1
  519. package/dist/taro-components/p-f0056aca.system.entry.js +1 -0
  520. package/dist/taro-components/p-f470ce9f.system.entry.js +1 -0
  521. package/dist/taro-components/{p-24d9836e.entry.js → p-f662c928.entry.js} +1 -1
  522. package/dist/taro-components/p-f6743078.system.entry.js +1 -0
  523. package/dist/taro-components/p-f7198b67.system.entry.js +1 -0
  524. package/dist/taro-components/{p-473afc8e.system.entry.js → p-f782ee74.system.entry.js} +1 -1
  525. package/dist/taro-components/p-f94c0445.system.entry.js +1 -0
  526. package/dist/taro-components/p-f9a13a5c.entry.js +1 -0
  527. package/dist/taro-components/p-fa9dbb6f.system.entry.js +1 -0
  528. package/dist/taro-components/{p-8d990f1c.system.entry.js → p-fbb789a4.system.entry.js} +1 -1
  529. package/dist/taro-components/{p-b1d2b575.system.entry.js → p-fe1dd94f.system.entry.js} +1 -1
  530. package/dist/taro-components/{p-0e3b37e9.entry.js → p-fe8ee676.entry.js} +1 -1
  531. package/dist/taro-components/p-ffaac078.system.entry.js +1 -0
  532. package/dist/taro-components/taro-components.css +1 -5
  533. package/dist/taro-components/taro-components.esm.js +1 -1
  534. package/dist/taro-components/taro-components.js +1 -1
  535. package/dist/types/components/draggable-sheet/draggable-sheet.d.ts +5 -0
  536. package/dist/types/components/grid-builder/grid-builder.d.ts +5 -0
  537. package/dist/types/components/list-builder/list-builder.d.ts +5 -0
  538. package/dist/types/components/map/map.d.ts +145 -2
  539. package/dist/types/components/nested-scroll-body/nested-scroll-body.d.ts +5 -0
  540. package/dist/types/components/nested-scroll-header/nested-scroll-header.d.ts +5 -0
  541. package/dist/types/components/open-container/open-container.d.ts +5 -0
  542. package/dist/types/components/span/span.d.ts +5 -0
  543. package/dist/types/components/swiper/swiper-item.d.ts +3 -0
  544. package/dist/types/components/swiper/swiper.d.ts +6 -2
  545. package/dist/types/components/switch/switch.d.ts +3 -3
  546. package/dist/types/components/tabbar/tabbar-item.d.ts +4 -4
  547. package/dist/types/components/tabbar/tabbar.d.ts +15 -16
  548. package/dist/types/components/textarea/textarea.d.ts +1 -0
  549. package/dist/types/components.d.ts +330 -15
  550. package/dist/types/utils/index.d.ts +2 -0
  551. package/lib/react/components.d.ts +9 -2
  552. package/lib/react/components.js +10 -3
  553. package/lib/react/components.js.map +1 -1
  554. package/lib/react/index.js +1 -1
  555. package/lib/react/react-component-lib/createComponent.js +3 -2
  556. package/lib/react/react-component-lib/createComponent.js.map +1 -1
  557. package/lib/react/react-component-lib/createOverlayComponent.js +1 -1
  558. package/lib/react/react-component-lib/utils/attachProps.d.ts +16 -7
  559. package/lib/react/react-component-lib/utils/attachProps.js +86 -10
  560. package/lib/react/react-component-lib/utils/attachProps.js.map +1 -1
  561. package/lib/react/react-component-lib/utils/index.js +1 -1
  562. package/lib/vue2/components.d.ts +39 -3
  563. package/lib/vue2/components.js +56 -5
  564. package/lib/vue2/components.js.map +1 -1
  565. package/lib/vue2/index.js +1 -1
  566. package/lib/vue3/components.d.ts +10 -5
  567. package/lib/vue3/components.js +42 -5
  568. package/lib/vue3/components.js.map +1 -1
  569. package/lib/vue3/index.js +1 -1
  570. package/package.json +17 -11
  571. package/types/Audio.d.ts +11 -11
  572. package/types/Button.d.ts +9 -9
  573. package/types/Canvas.d.ts +11 -11
  574. package/types/Checkbox.d.ts +8 -8
  575. package/types/CheckboxGroup.d.ts +3 -3
  576. package/types/CoverImage.d.ts +4 -4
  577. package/types/CoverView.d.ts +1 -1
  578. package/types/CustomWrapper.d.ts +1 -1
  579. package/types/DraggableSheet.d.ts +47 -0
  580. package/types/Form.d.ts +4 -4
  581. package/types/GridBuilder.d.ts +72 -0
  582. package/types/GridView.d.ts +18 -4
  583. package/types/Icon.d.ts +4 -4
  584. package/types/Image.d.ts +8 -8
  585. package/types/Input.d.ts +22 -17
  586. package/types/Label.d.ts +2 -2
  587. package/types/ListBuilder.d.ts +55 -0
  588. package/types/ListView.d.ts +8 -1
  589. package/types/Map.d.ts +0 -2
  590. package/types/MovableArea.d.ts +2 -2
  591. package/types/MovableView.d.ts +18 -18
  592. package/types/NativeSlot.d.ts +1 -1
  593. package/types/Navigator.d.ts +8 -8
  594. package/types/NestedScrollBody.d.ts +15 -0
  595. package/types/NestedScrollHeader.d.ts +15 -0
  596. package/types/OpenContainer.d.ts +74 -0
  597. package/types/PageMeta.d.ts +6 -0
  598. package/types/Picker.d.ts +48 -27
  599. package/types/PickerView.d.ts +6 -1
  600. package/types/PickerViewColumn.d.ts +1 -1
  601. package/types/Progress.d.ts +13 -13
  602. package/types/Radio.d.ts +7 -7
  603. package/types/RadioGroup.d.ts +2 -2
  604. package/types/RichText.d.ts +6 -6
  605. package/types/Script.d.ts +37 -0
  606. package/types/ScrollView.d.ts +20 -14
  607. package/types/ShareElement.d.ts +1 -0
  608. package/types/Slider.d.ts +18 -13
  609. package/types/Slot.d.ts +1 -1
  610. package/types/Snapshot.d.ts +12 -3
  611. package/types/Span.d.ts +14 -0
  612. package/types/StickyHeader.d.ts +14 -1
  613. package/types/StickySection.d.ts +6 -0
  614. package/types/Swiper.d.ts +19 -19
  615. package/types/SwiperItem.d.ts +7 -2
  616. package/types/Switch.d.ts +12 -7
  617. package/types/Text.d.ts +20 -4
  618. package/types/Textarea.d.ts +18 -13
  619. package/types/Video.d.ts +30 -30
  620. package/types/View.d.ts +4 -4
  621. package/types/WebView.d.ts +4 -4
  622. package/types/common.d.ts +2 -1
  623. package/types/index.d.ts +8 -0
  624. package/types/index.vue3.d.ts +4 -0
  625. package/dist/cjs/hls-00fec546.js +0 -25673
  626. package/dist/cjs/intersection-observer-dc4cfcef.js +0 -728
  627. package/dist/collection/components/input/index.css +0 -12
  628. package/dist/components/hls.js +0 -25671
  629. package/dist/components/intersection-observer.js +0 -726
  630. package/dist/esm/hls-4018c7ea.js +0 -25671
  631. package/dist/esm/intersection-observer-8e4c7135.js +0 -726
  632. package/dist/esm-es5/hls-4018c7ea.js +0 -1
  633. package/dist/esm-es5/index-980f930f.js +0 -2
  634. package/dist/esm-es5/index-d1b03e47.js +0 -1
  635. package/dist/esm-es5/intersection-observer-8e4c7135.js +0 -1
  636. package/dist/esm-es5/taro-pull-to-refresh.entry.js +0 -1
  637. package/dist/taro-components/p-01e163f8.system.entry.js +0 -1
  638. package/dist/taro-components/p-06671eee.entry.js +0 -1
  639. package/dist/taro-components/p-08b7ecd7.system.entry.js +0 -1
  640. package/dist/taro-components/p-0a250d71.system.entry.js +0 -1
  641. package/dist/taro-components/p-0cedad18.system.entry.js +0 -1
  642. package/dist/taro-components/p-0fe855c6.entry.js +0 -1
  643. package/dist/taro-components/p-117633e9.system.entry.js +0 -1
  644. package/dist/taro-components/p-1e739fcb.system.entry.js +0 -1
  645. package/dist/taro-components/p-1f118969.system.entry.js +0 -1
  646. package/dist/taro-components/p-2a071adf.system.entry.js +0 -1
  647. package/dist/taro-components/p-32e9981a.system.entry.js +0 -1
  648. package/dist/taro-components/p-357ba712.system.entry.js +0 -1
  649. package/dist/taro-components/p-3b1d2d37.system.js +0 -1
  650. package/dist/taro-components/p-3f3abe55.system.entry.js +0 -1
  651. package/dist/taro-components/p-425c209a.entry.js +0 -1
  652. package/dist/taro-components/p-43efbf30.js +0 -1
  653. package/dist/taro-components/p-4cedbe5e.system.entry.js +0 -1
  654. package/dist/taro-components/p-4f1d180d.entry.js +0 -1
  655. package/dist/taro-components/p-5756cf00.system.entry.js +0 -1
  656. package/dist/taro-components/p-5ebc7010.system.entry.js +0 -1
  657. package/dist/taro-components/p-60faf73e.system.entry.js +0 -1
  658. package/dist/taro-components/p-657cb6e4.system.entry.js +0 -1
  659. package/dist/taro-components/p-6aa2ac6a.system.entry.js +0 -1
  660. package/dist/taro-components/p-6b454506.entry.js +0 -1
  661. package/dist/taro-components/p-7102ecf5.system.entry.js +0 -1
  662. package/dist/taro-components/p-72b118b0.entry.js +0 -1
  663. package/dist/taro-components/p-72f327e1.js +0 -1
  664. package/dist/taro-components/p-7b68dee8.entry.js +0 -1
  665. package/dist/taro-components/p-7bfc5f3d.entry.js +0 -1
  666. package/dist/taro-components/p-7e6b54cb.system.js +0 -2
  667. package/dist/taro-components/p-8ca82a56.entry.js +0 -1
  668. package/dist/taro-components/p-9137dcab.js +0 -2
  669. package/dist/taro-components/p-962f28cb.entry.js +0 -1
  670. package/dist/taro-components/p-99e16df8.entry.js +0 -1
  671. package/dist/taro-components/p-9a5fbb2e.entry.js +0 -1
  672. package/dist/taro-components/p-9b0298bf.entry.js +0 -1
  673. package/dist/taro-components/p-9dcba4a7.system.entry.js +0 -1
  674. package/dist/taro-components/p-9edea30f.system.entry.js +0 -1
  675. package/dist/taro-components/p-9eeba192.entry.js +0 -1
  676. package/dist/taro-components/p-9feff958.system.entry.js +0 -1
  677. package/dist/taro-components/p-a1763153.entry.js +0 -1
  678. package/dist/taro-components/p-a20fed0a.entry.js +0 -1
  679. package/dist/taro-components/p-a7d31b01.system.entry.js +0 -1
  680. package/dist/taro-components/p-a940a65b.entry.js +0 -1
  681. package/dist/taro-components/p-a94e3347.system.entry.js +0 -1
  682. package/dist/taro-components/p-b0fc8752.entry.js +0 -1
  683. package/dist/taro-components/p-bd5177d3.system.js +0 -1
  684. package/dist/taro-components/p-bf0c8449.system.entry.js +0 -1
  685. package/dist/taro-components/p-cb406f85.system.entry.js +0 -1
  686. package/dist/taro-components/p-d3c7f87d.js +0 -1
  687. package/dist/taro-components/p-d550aea9.system.entry.js +0 -1
  688. package/dist/taro-components/p-d5c8380d.system.entry.js +0 -1
  689. package/dist/taro-components/p-d867e333.system.entry.js +0 -1
  690. package/dist/taro-components/p-d8fe59c7.entry.js +0 -1
  691. package/dist/taro-components/p-dab28e1f.system.entry.js +0 -1
  692. package/dist/taro-components/p-dc5d65a0.system.entry.js +0 -1
  693. package/dist/taro-components/p-e09451c5.system.entry.js +0 -1
  694. package/dist/taro-components/p-e2cd5dd3.system.entry.js +0 -1
  695. package/dist/taro-components/p-e598f47b.entry.js +0 -1
  696. package/dist/taro-components/p-e6481671.system.entry.js +0 -1
  697. package/dist/taro-components/p-e67755f0.system.entry.js +0 -1
  698. package/dist/taro-components/p-e78775ce.system.js +0 -1
  699. package/dist/taro-components/p-e976c6c9.system.entry.js +0 -1
  700. package/dist/taro-components/p-ea0d5d4f.system.entry.js +0 -1
  701. package/dist/taro-components/p-ed331c06.system.js +0 -1
  702. package/dist/taro-components/p-eee6e075.system.entry.js +0 -1
  703. package/dist/taro-components/p-f02b6f70.entry.js +0 -1
  704. package/dist/taro-components/p-f0340edf.entry.js +0 -1
  705. package/dist/taro-components/p-f2235cbb.entry.js +0 -1
  706. package/dist/taro-components/p-f533bc2f.entry.js +0 -1
  707. package/dist/taro-components/p-f658de2e.entry.js +0 -1
  708. package/dist/taro-components/p-f6f6a996.system.entry.js +0 -1
  709. package/lib/react/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js +0 -296
  710. package/lib/react/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js.map +0 -1
@@ -2,20 +2,1339 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-e751dfe3.js');
6
- const helper = require('./helper-ad6306f6.js');
7
- require('@tarojs/taro');
5
+ const index = require('./index-5b029707.js');
6
+ const Hammer = require('hammerjs');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ const Hammer__default = /*#__PURE__*/_interopDefaultLegacy(Hammer);
11
+
12
+ const mapCss = ".BMap_cpyCtrl,.anchorBL img,.BMap_bubble_buttons{display:none}";
8
13
 
9
14
  const Map = class {
10
15
  constructor(hostRef) {
11
16
  index.registerInstance(this, hostRef);
17
+ this.onTap = index.createEvent(this, "tap", 7);
18
+ this.currentRotation = 0;
19
+ /* 获取当前地图中心的经纬度 */
20
+ this._getCenterLocation = (option) => {
21
+ // 遍历当前的覆盖物,找到之前添加的中心点图标并删除它
22
+ this.map.getOverlays().forEach((overlay) => {
23
+ if (overlay instanceof BMapGL.Marker && overlay.isCenterMarker) {
24
+ this.map.removeOverlay(overlay);
25
+ }
26
+ });
27
+ // 创建自定义图标并设置图标位置
28
+ option.iconPath = 'https://img0.baidu.com/it/u=2604176863,3349829508&fm=253&fmt=auto&app=138&f=PNG?w=243&h=243';
29
+ const icon = new BMapGL.Icon(option.iconPath, new BMapGL.Size(20, 30));
30
+ // 将经纬度从BD09转换为GCJ02
31
+ const gcj02Point = [this.longitude, this.latitude];
32
+ const marker = new BMapGL.Marker(new BMapGL.Point(this.longitude, this.latitude), { icon });
33
+ marker.isCenterMarker = true; // 标记该覆盖物是中心点图标
34
+ // 添加新的图标
35
+ this.map.addOverlay(marker);
36
+ return gcj02Point;
37
+ };
38
+ /* 设置定位点图标,支持网络路径、本地路径、代码包路径 */
39
+ this._setLocMarkerIcon = (option) => {
40
+ // 创建自定义图标
41
+ const icon = new BMapGL.Icon(option.iconPath, new BMapGL.Size(20, 30));
42
+ // 创建定位点并设置图标
43
+ const point = new BMapGL.Point(116.404, 39.915);
44
+ const marker = new BMapGL.Marker(point, { icon });
45
+ this.map.addOverlay(marker);
46
+ };
47
+ /* 平移marker,带动画 */
48
+ this._translateMarker = (option) => {
49
+ let latitude = option.destination.latitude;
50
+ const longitude = option.destination.longitude;
51
+ if (latitude < -80 && latitude >= -90) {
52
+ latitude = option.destination.latitude + 10;
53
+ }
54
+ const destinationPoint = new BMapGL.Point(longitude, latitude);
55
+ const obj = {
56
+ flagId: true,
57
+ flagCoordinate: true // 标记是否有有效经纬度
58
+ };
59
+ const animationEndResult = {
60
+ errMsg: 'animationEnd:ok',
61
+ };
62
+ // 获取所有覆盖物
63
+ const overlays = this.map.getOverlays();
64
+ // 查找指定 id 的 Marker 对象
65
+ const targetMarker = overlays.find((overlay) => overlay instanceof BMapGL.Marker && overlay.id === option.markerId);
66
+ if (!targetMarker) {
67
+ console.error(`Marker "${option.markerId}" not found.`);
68
+ obj.flagId = false;
69
+ return obj;
70
+ }
71
+ if (latitude > 90 || latitude < -90 || longitude > 180 || longitude < -180 || isNaN(latitude) || isNaN(longitude)) {
72
+ obj.flagCoordinate = false;
73
+ return obj;
74
+ }
75
+ // 计算平移步长
76
+ const startLngLat = targetMarker.getPosition();
77
+ const step = {
78
+ lng: (destinationPoint.lng - startLngLat.lng) / (option.duration / 16),
79
+ lat: (destinationPoint.lat - startLngLat.lat) / (option.duration / 16), // 每帧移动的纬度增量
80
+ };
81
+ // 计算旋转角度的步长
82
+ const startRotation = targetMarker.getRotation(); // 获取起始旋转角度
83
+ const targetRotation = option.rotate; // 设置目标旋转角度
84
+ if (!this.currentRotation) {
85
+ this.currentRotation = targetRotation;
86
+ }
87
+ else {
88
+ this.currentRotation += targetRotation;
89
+ }
90
+ const rotationStep = (this.currentRotation - startRotation) / (option.duration / 16);
91
+ // 执行平移动画
92
+ let currentLngLat = startLngLat;
93
+ let currentRotation = startRotation;
94
+ if (!option.moveWithRotate && option.autoRotate) {
95
+ let currentFrame = 0; // 用于平移动画的计数器
96
+ // 执行平移动画
97
+ const animationInterval = setInterval(() => {
98
+ currentLngLat = new BMapGL.Point(currentLngLat.lng + step.lng, currentLngLat.lat + step.lat);
99
+ targetMarker.setPosition(currentLngLat);
100
+ currentFrame++;
101
+ if (currentFrame >= option.duration / 16) {
102
+ clearInterval(animationInterval);
103
+ let rotationFrame = 0; // 用于旋转动画的计数器
104
+ // 在到达目的地后执行旋转动画
105
+ const rotationInterval = setInterval(() => {
106
+ currentRotation += rotationStep;
107
+ targetMarker.setRotation(currentRotation);
108
+ rotationFrame++;
109
+ if (rotationFrame >= option.duration / 16) {
110
+ clearInterval(rotationInterval); // 清除旋转动画的定时器
111
+ option === null || option === void 0 ? void 0 : option.animationEnd(animationEndResult);
112
+ }
113
+ }, 16);
114
+ }
115
+ }, 16);
116
+ }
117
+ else if (option.moveWithRotate && option.autoRotate) {
118
+ let currentFrame = 0; // 定义局部变量
119
+ const animationInterval = setInterval(() => {
120
+ currentLngLat = new BMapGL.Point(currentLngLat.lng + step.lng, currentLngLat.lat + step.lat);
121
+ targetMarker.setPosition(currentLngLat);
122
+ currentRotation += rotationStep;
123
+ targetMarker.setRotation(currentRotation);
124
+ currentFrame++;
125
+ if (currentFrame >= option.duration / 16) {
126
+ clearInterval(animationInterval);
127
+ option === null || option === void 0 ? void 0 : option.animationEnd(animationEndResult);
128
+ }
129
+ }, 16);
130
+ }
131
+ else if (option.moveWithRotate && !option.autoRotate) {
132
+ let currentFrame = 0; // 定义局部变量
133
+ const animationInterval = setInterval(() => {
134
+ currentLngLat = new BMapGL.Point(currentLngLat.lng + step.lng, currentLngLat.lat + step.lat);
135
+ targetMarker.setPosition(currentLngLat);
136
+ currentFrame++;
137
+ if (currentFrame >= option.duration / 16) {
138
+ clearInterval(animationInterval);
139
+ option === null || option === void 0 ? void 0 : option.animationEnd(animationEndResult);
140
+ }
141
+ }, 16);
142
+ }
143
+ return obj;
144
+ };
145
+ /* 缩放视野展示所有经纬度 */
146
+ this._includePoints = (option) => {
147
+ const bPoints = option.points.map((point) => new BMapGL.Point(point.longitude, point.latitude));
148
+ const originalZoom = this.map.getZoom();
149
+ const originalCenter = this.map.getCenter();
150
+ const view = this.map.getViewport(bPoints);
151
+ // 地图缩放后
152
+ this.map.centerAndZoom(view.center, view.zoom);
153
+ const bounds = this.map.getBounds();
154
+ let flag = true;
155
+ for (let i = 0; i < bPoints.length; i++) {
156
+ if (!bounds.containsPoint(bPoints[i])) {
157
+ this.map.centerAndZoom(originalCenter, originalZoom);
158
+ flag = false;
159
+ break;
160
+ }
161
+ }
162
+ return flag;
163
+ };
164
+ /* 获取当前地图的视野范围 */
165
+ this._getRegion = () => {
166
+ // 获取地图当前视野范围
167
+ const bounds = this.map.getBounds();
168
+ const sw = bounds.getSouthWest(); // 西南角坐标
169
+ const ne = bounds.getNorthEast(); // 东北角坐标
170
+ return {
171
+ southwest: { lat: sw.lat, lng: sw.lng },
172
+ northeast: { lat: ne.lat, lng: ne.lng },
173
+ };
174
+ };
175
+ /* 获取当前地图的旋转角 */
176
+ this._getRotate = () => {
177
+ // 获取地图当前旋转角度
178
+ let rotation = this.rotate;
179
+ if (rotation < 0 || rotation > 360) {
180
+ rotation = 0;
181
+ }
182
+ return rotation;
183
+ };
184
+ /* 获取当前地图的倾斜角 */
185
+ this._getSkew = () => {
186
+ let Skew = this.skew;
187
+ if (Skew < 0 || Skew > 40) {
188
+ Skew = 0;
189
+ }
190
+ return Skew;
191
+ };
192
+ /* 获取当前地图的缩放级别 */
193
+ this._getScale = () => {
194
+ const Scale = this.scale;
195
+ return Scale;
196
+ };
197
+ /* 设置地图中心点偏移,向后向下为增长 */
198
+ this._setCenterOffset = (option) => {
199
+ // 解构获取偏移量参数
200
+ const [x, y] = option.offset;
201
+ // 获取地图尺寸
202
+ const mapSize = this.map.getSize();
203
+ // 计算水平偏移量
204
+ const offsetX = Math.max(0.25 * mapSize.width, Math.min(0.75 * mapSize.width, x * mapSize.width));
205
+ // 计算垂直偏移量
206
+ const offsetY = Math.max(0.25 * mapSize.height, Math.min(0.75 * mapSize.height, y * mapSize.height));
207
+ // 创建像素坐标对象
208
+ const pixel = new BMapGL.Pixel(offsetX, offsetY);
209
+ // 将像素坐标转换为地理坐标
210
+ const center = this.map.pixelToPoint(pixel);
211
+ // 平移地图至指定中心点
212
+ this.map.panTo(center);
213
+ };
214
+ /* 添加 marker */
215
+ this._addMarkers = (option) => {
216
+ if (option.clear) {
217
+ // 清除地图上所有marker
218
+ this.map.clearOverlays(this.markers);
219
+ }
220
+ option.markers.forEach((marker) => {
221
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
222
+ if (marker.latitude && marker.longitude && marker.iconPath) {
223
+ const pt = new BMapGL.Point(marker.longitude, marker.latitude);
224
+ const markerObj = new BMapGL.Marker(pt, { enableClicking: true });
225
+ this.map.addOverlay(markerObj);
226
+ markerObj.id = marker.id; // 设置标记点的唯一标识符
227
+ markerObj.alpha = marker.alpha;
228
+ if (marker.zIndex) {
229
+ markerObj.setZIndex(marker.zIndex);
230
+ }
231
+ if (marker.width && marker.height && marker.iconPath) {
232
+ const icon = new BMapGL.Icon(marker.iconPath, new BMapGL.Size(marker.width, marker.height));
233
+ markerObj.setIcon(icon);
234
+ }
235
+ else if (marker.iconPath) {
236
+ const img = new Image();
237
+ img.src = marker.iconPath;
238
+ img.style.opacity = String(marker.alpha);
239
+ img.onload = () => {
240
+ const iconSize = new BMapGL.Size(img.width, img.height);
241
+ const icon = new BMapGL.Icon(img.src, iconSize);
242
+ icon.imageOffset = new BMapGL.Size(0, 0, marker.alpha || 1);
243
+ markerObj.setIcon(icon);
244
+ };
245
+ }
246
+ else {
247
+ console.error('没有找到iconPath图片路径');
248
+ return;
249
+ }
250
+ const rotate = marker.rotate ? marker.rotate : 0;
251
+ if (rotate) {
252
+ markerObj.setRotation(rotate);
253
+ }
254
+ if (marker.anchor) {
255
+ const offsetX = ((_b = (_a = marker.anchor) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0) * (marker.width || 0);
256
+ const offsetY = ((_d = (_c = marker.anchor) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0) * (marker.height || 0);
257
+ markerObj.setOffset(new BMapGL.Size(offsetX, offsetY));
258
+ }
259
+ // 创建title
260
+ if (!marker.callout && marker.title) {
261
+ const hammer = new Hammer__default['default'](this.mapRef); // 创建Hammer对象,绑定到地图容器
262
+ hammer.on('tap', (e) => {
263
+ // 使用tap事件替代click事件
264
+ const touch = e.center;
265
+ const x = touch.x;
266
+ const y = touch.y;
267
+ // 假设阈值为 10,表示点击距离小于 10 个像素时认为是点击到了标记点
268
+ const threshold = 15;
269
+ // 遍历标记点数组,计算触摸位置与每个标记点的距离
270
+ option.markers.forEach((marker) => {
271
+ // 通过class名获取地图容器
272
+ const mapContainer = document.getElementsByClassName('bmap-container')[0];
273
+ // 获取地图容器在屏幕上的偏移量
274
+ const mapContainerRect = mapContainer.getBoundingClientRect();
275
+ const mapOffsetX = mapContainerRect.left;
276
+ const mapOffsetY = mapContainerRect.top;
277
+ const point = new BMapGL.Point(marker.longitude, marker.latitude);
278
+ const pixel = this.map.pointToPixel(point);
279
+ const markerX = pixel.x + mapOffsetX;
280
+ const markerY = pixel.y + mapOffsetY;
281
+ // 计算触摸位置与标记点的距离
282
+ const distance = Math.sqrt(Math.pow(x - markerX, 2) + Math.pow(y - markerY, 2));
283
+ if (distance < threshold && marker.id === markerObj.id) {
284
+ // 最近的标记点距离小于阈值,表示用户点击到了标记点
285
+ const content = `<div style="text-align:center">${marker.title}</div>`;
286
+ const infoWindow = new BMapGL.InfoWindow(content);
287
+ this.map.openInfoWindow(infoWindow, pt);
288
+ }
289
+ });
290
+ });
291
+ }
292
+ if (marker.callout) {
293
+ const offsetX = ((_e = marker.callout) === null || _e === void 0 ? void 0 : _e.anchorX) ? (_f = marker.callout) === null || _f === void 0 ? void 0 : _f.anchorX : 0; // 横向偏移量
294
+ const offsetY = ((_g = marker.callout) === null || _g === void 0 ? void 0 : _g.anchorY) ? (_h = marker.callout) === null || _h === void 0 ? void 0 : _h.anchorY : 0; // 纵向偏移量
295
+ // 创建气泡(callout)对象
296
+ const callout = new BMapGL.InfoWindow(`<div style="
297
+ padding: ${(_j = marker.callout) === null || _j === void 0 ? void 0 : _j.padding}px;
298
+ color:${(_k = marker.callout) === null || _k === void 0 ? void 0 : _k.color};
299
+ text-align:${(_l = marker.callout) === null || _l === void 0 ? void 0 : _l.textAlign};"
300
+ >
301
+ <p style="font-size:${(_m = marker.callout) === null || _m === void 0 ? void 0 : _m.fontSize}px">${((_o = marker.callout) === null || _o === void 0 ? void 0 : _o.content) || ''}</p>
302
+ </div>`, {
303
+ width: 200,
304
+ height: 100,
305
+ offset: new BMapGL.Size(offsetX - 24, offsetY - 20), // 设置偏移量
306
+ });
307
+ // 自定义属性存储气泡(callout)对象
308
+ markerObj.callout = callout;
309
+ // 将气泡(callout)对象绑定到标记(marker)对象上
310
+ this.map.addOverlay(markerObj);
311
+ if (((_p = marker.callout) === null || _p === void 0 ? void 0 : _p.display) === 'ALWAYS') {
312
+ markerObj.callout.disableCloseOnClick();
313
+ const point = markerObj.getPosition(); // 获取marker标记点的位置
314
+ markerObj.callout.addEventListener('open', function () {
315
+ var _a, _b, _c, _d;
316
+ console.log(markerObj.callout);
317
+ const infoWindowElement = document.querySelector('.BMap_bubble_pop');
318
+ if (infoWindowElement) {
319
+ let triangle = infoWindowElement.querySelector('.triangle');
320
+ if (!triangle) {
321
+ // 如果不存在,则创建并添加新的三角形 div
322
+ triangle = document.createElement('div');
323
+ triangle.className = 'triangle'; // 添加一个类名以便日后查找
324
+ infoWindowElement.appendChild(triangle);
325
+ }
326
+ const img = document.querySelector('.BMap_bubble_pop>img');
327
+ if (img) {
328
+ img.setAttribute('style', `position: absolute;transform: translate(-50%, 0); top: ${point.lat - 100}px; left: ${point.lng - 20}px;display:none`);
329
+ }
330
+ const backgroundcolor = (_a = marker.callout) === null || _a === void 0 ? void 0 : _a.bgColor;
331
+ let borderWidth = ((_b = marker.callout) === null || _b === void 0 ? void 0 : _b.borderWidth) || 5;
332
+ const borderColor = (_c = marker.callout) === null || _c === void 0 ? void 0 : _c.borderColor;
333
+ const borderRadius = (_d = marker.callout) === null || _d === void 0 ? void 0 : _d.borderRadius;
334
+ // 确保边框大小不超过15
335
+ borderWidth = Math.min(borderWidth, 15);
336
+ triangle.setAttribute('style', `width:0;height:0;border-left:${borderWidth}px solid transparent;border-right:${borderWidth}px solid transparent;border-top:${borderWidth}px solid ${borderColor};position:absolute;left:83px;bottom:-${2 * borderWidth}px`);
337
+ infoWindowElement.setAttribute('style', `background-color:${backgroundcolor};top:${point.lat - 120}px; left:${point.lng - 100}px;position: absolute;border: ${borderWidth}px solid ${borderColor};border-radius:${borderRadius}px; `);
338
+ }
339
+ });
340
+ this.map.openInfoWindow(markerObj.callout, pt);
341
+ }
342
+ else {
343
+ const hammer = new Hammer__default['default'](this.mapRef); // 创建Hammer对象,绑定到地图容器
344
+ hammer.on('tap', (e) => {
345
+ // 使用tap事件替代click事件
346
+ const touch = e.center;
347
+ const x = touch.x;
348
+ const y = touch.y;
349
+ // 假设阈值为 10,表示点击距离小于 10 个像素时认为是点击到了标记点
350
+ const threshold = 15;
351
+ // 遍历标记点数组,计算触摸位置与每个标记点的距离
352
+ option.markers.forEach((marker) => {
353
+ // 通过class名获取地图容器
354
+ const mapContainer = document.getElementsByClassName('bmap-container')[0];
355
+ // 获取地图容器在屏幕上的偏移量
356
+ const mapContainerRect = mapContainer.getBoundingClientRect();
357
+ const mapOffsetX = mapContainerRect.left;
358
+ const mapOffsetY = mapContainerRect.top;
359
+ const point = new BMapGL.Point(marker.longitude, marker.latitude);
360
+ const pixel = this.map.pointToPixel(point);
361
+ const markerX = pixel.x + mapOffsetX;
362
+ const markerY = pixel.y + mapOffsetY;
363
+ // 计算触摸位置与标记点的距离
364
+ const distance = Math.sqrt(Math.pow(x - markerX, 2) + Math.pow(y - markerY, 2));
365
+ if (distance < threshold && marker.id === markerObj.id) {
366
+ const point = markerObj.getPosition(); // 获取marker标记点的位置
367
+ markerObj.callout.addEventListener('open', function () {
368
+ var _a, _b, _c, _d;
369
+ console.log(markerObj.callout);
370
+ const infoWindowElement = document.querySelector('.BMap_bubble_pop');
371
+ if (infoWindowElement) {
372
+ let triangle = infoWindowElement.querySelector('.triangle');
373
+ if (!triangle) {
374
+ // 如果不存在,则创建并添加新的三角形 div
375
+ triangle = document.createElement('div');
376
+ triangle.className = 'triangle'; // 添加一个类名以便日后查找
377
+ infoWindowElement.appendChild(triangle);
378
+ }
379
+ const img = document.querySelector('.BMap_bubble_pop>img');
380
+ if (img) {
381
+ img.setAttribute('style', `position: absolute;transform: translate(-50%, 0); top: ${point.lat - 100}px; left: ${point.lng - 20}px;display:none`);
382
+ }
383
+ const backgroundcolor = (_a = marker.callout) === null || _a === void 0 ? void 0 : _a.bgColor;
384
+ let borderWidth = ((_b = marker.callout) === null || _b === void 0 ? void 0 : _b.borderWidth) || 5;
385
+ const borderColor = (_c = marker.callout) === null || _c === void 0 ? void 0 : _c.borderColor;
386
+ const borderRadius = (_d = marker.callout) === null || _d === void 0 ? void 0 : _d.borderRadius;
387
+ // 确保边框大小不超过15
388
+ borderWidth = Math.min(borderWidth, 15);
389
+ triangle.setAttribute('style', `width:0;height:0;border-left:${borderWidth}px solid transparent;border-right:${borderWidth}px solid transparent;border-top:${borderWidth}px solid ${borderColor};position:absolute;left:83px;bottom:-${2 * borderWidth}px`);
390
+ infoWindowElement.setAttribute('style', `background-color:${backgroundcolor};top:${point.lat - 120}px; left:${point.lng - 100}px;position: absolute;border: ${borderWidth}px solid ${borderColor};border-radius:${borderRadius}px; `);
391
+ }
392
+ });
393
+ // 最近的标记点距离小于阈值,表示用户点击到了标记点
394
+ this.map.openInfoWindow(markerObj.callout, pt);
395
+ }
396
+ else {
397
+ markerObj.callout.enableCloseOnClick();
398
+ // 用户点击到了地图上的其他位置,不是标记点
399
+ }
400
+ });
401
+ });
402
+ }
403
+ }
404
+ // 判断是否有label属性
405
+ if (marker.label) {
406
+ const labelContent = marker.label.content || '';
407
+ const labelOpts = {
408
+ position: pt,
409
+ offset: new BMapGL.Size(marker.label.anchorX || 0, marker.label.anchorY || 0),
410
+ };
411
+ const label = new BMapGL.Label(labelContent, labelOpts);
412
+ // 设置标签样式
413
+ label.setStyle({
414
+ color: marker.label.color,
415
+ fontSize: marker.label.fontSize + 'px',
416
+ borderWidth: marker.label.borderWidth + 'px',
417
+ borderColor: marker.label.borderColor,
418
+ borderRadius: marker.label.borderRadius + 'px',
419
+ background: marker.label.bgColor,
420
+ padding: marker.label.padding + 'px',
421
+ });
422
+ markerObj.setLabel(label);
423
+ }
424
+ }
425
+ });
426
+ };
427
+ /* 移除 marker */
428
+ this._removeMarkers = (option) => {
429
+ // 获取所有覆盖物
430
+ const overlays = this.map.getOverlays();
431
+ let newTargetMarker = {};
432
+ option.markerIds.forEach((id) => {
433
+ // 查找指定 id 的 Marker 对象
434
+ const targetMarker = overlays.find((overlay) => overlay instanceof BMapGL.Marker && String(overlay.id) === id);
435
+ newTargetMarker = targetMarker;
436
+ this.map.removeOverlay(targetMarker);
437
+ });
438
+ return newTargetMarker;
439
+ };
440
+ /* 沿指定路径移动 marker,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 marker 再次调用 moveAlong 方法,前一次的动画将被打断 */
441
+ this._moveAlong = (object) => {
442
+ const path = object.path;
443
+ const targetMarkerId = object.markerId;
444
+ const duration = object.duration;
445
+ const autoRotate = object.autoRotate;
446
+ const targetMarker = this.map.getOverlays().find((overlay) => overlay instanceof BMapGL.Marker && overlay.id === targetMarkerId);
447
+ const points = path.map((p) => new BMapGL.Point(p.longitude, p.latitude));
448
+ const obj = {
449
+ flagId: true,
450
+ flagCoordinate: true // 标记是否有有效经纬度
451
+ };
452
+ if (!targetMarker) {
453
+ console.error(`Marker "${targetMarkerId}" not found.`);
454
+ obj.flagId = false;
455
+ return obj;
456
+ }
457
+ for (let i = 0; i < points.length; i++) {
458
+ const point = points[i];
459
+ if (point.lat < -80 && point.lat >= -90) {
460
+ point.lat += 10;
461
+ }
462
+ if (point.lng < -180 || point.lng > 180 || point.lat < -90 || point.lat > 90 || isNaN(point.lng) || isNaN(point.lat)) {
463
+ obj.flagCoordinate = false;
464
+ return obj;
465
+ }
466
+ }
467
+ if (obj.flagId && obj.flagCoordinate) {
468
+ const startTime = performance.now();
469
+ const animate = (timestamp) => {
470
+ const elapsedTime = timestamp - startTime;
471
+ const progress = Math.min(elapsedTime / duration, 1);
472
+ const currentPoint = this.getPointOnPath(points, progress);
473
+ targetMarker.setPosition(currentPoint);
474
+ if (autoRotate && progress < 1) {
475
+ const nextPoint = this.getPointOnPath(points, Math.min(progress + 0.01, 1)); // 获取前进一点的点
476
+ const rotation = this.calculateRotation(currentPoint, nextPoint);
477
+ targetMarker.setRotation(rotation);
478
+ }
479
+ if (progress < 1) {
480
+ requestAnimationFrame(animate);
481
+ }
482
+ else {
483
+ // 动画结束
484
+ targetMarker.setPosition(points[points.length - 1]); // 设置 marker 位置为路径的最后一个点
485
+ targetMarker.setRotation(0); // 恢复旋转角度为0
486
+ }
487
+ };
488
+ requestAnimationFrame(animate);
489
+ }
490
+ return obj;
491
+ };
492
+ this.getPointOnPath = (points, progress) => {
493
+ const totalLength = this.calculateTotalLength(points);
494
+ const targetLength = totalLength * progress;
495
+ let currentLength = 0;
496
+ for (let i = 0; i < points.length - 1; i++) {
497
+ const segmentLength = this.map.getDistance(points[i], points[i + 1]);
498
+ if (currentLength + segmentLength >= targetLength) {
499
+ const ratio = (targetLength - currentLength) / segmentLength;
500
+ const deltaX = points[i + 1].lng - points[i].lng;
501
+ const deltaY = points[i + 1].lat - points[i].lat;
502
+ const newLng = points[i].lng + deltaX * ratio;
503
+ const newLat = points[i].lat + deltaY * ratio;
504
+ return new BMapGL.Point(newLng, newLat);
505
+ }
506
+ currentLength += segmentLength;
507
+ }
508
+ // 如果进度超出路径长度,返回路径的最后一个点
509
+ return points[points.length - 1];
510
+ };
511
+ this.calculateTotalLength = (points) => {
512
+ let totalLength = 0;
513
+ for (let i = 0; i < points.length - 1; i++) {
514
+ totalLength += this.map.getDistance(points[i], points[i + 1]);
515
+ }
516
+ return totalLength;
517
+ };
518
+ this.calculateRotation = (currentPoint, nextPoint) => {
519
+ const dx = nextPoint.lng - currentPoint.lng;
520
+ const dy = nextPoint.lat - currentPoint.lat;
521
+ let angle = Math.atan2(dy, dx) * (180 / Math.PI);
522
+ angle = 90 - angle;
523
+ return angle;
524
+ };
525
+ /* 创建自定义图片图层,图片会随着地图缩放而缩放 */
526
+ this._addGroundOverlay = (option) => {
527
+ const { src, opacity, bounds, visible, id, zIndex } = option;
528
+ let flag = true;
529
+ if (bounds.southwest.longitude >= bounds.northeast.longitude || bounds.southwest.latitude >= bounds.northeast.latitude) {
530
+ flag = false;
531
+ return;
532
+ }
533
+ if (bounds.southwest.latitude > 90 || bounds.southwest.latitude < -90 || bounds.southwest.longitude > 180 || bounds.southwest.longitude < -180 || isNaN(bounds.southwest.latitude) || isNaN(bounds.southwest.longitude)) {
534
+ flag = false;
535
+ return;
536
+ }
537
+ if (bounds.northeast.latitude > 90 || bounds.northeast.latitude < -90 || bounds.northeast.longitude > 180 || bounds.northeast.longitude < -180 || isNaN(bounds.northeast.latitude) || isNaN(bounds.northeast.longitude)) {
538
+ flag = false;
539
+ return;
540
+ }
541
+ // 创建覆盖物边界对象
542
+ const overlayBounds = new BMapGL.Bounds(new BMapGL.Point(bounds.southwest.longitude, bounds.southwest.latitude), new BMapGL.Point(bounds.northeast.longitude, bounds.northeast.latitude));
543
+ // 定义 GroundOverlay类
544
+ function GroundOverlay(bounds, imageUrl, map, visible, opacity, zIndex, id) {
545
+ this._bounds = bounds;
546
+ this._imageUrl = imageUrl;
547
+ this._map = map;
548
+ this._visible = visible;
549
+ this._opacity = opacity;
550
+ this._zIndex = zIndex;
551
+ this._id = id;
552
+ }
553
+ // 继承 BMapGL.Overlay
554
+ GroundOverlay.prototype = new BMapGL.Overlay();
555
+ // 初始化方法
556
+ GroundOverlay.prototype.initialize = function (map) {
557
+ // 移除已存在的元素
558
+ if (document.getElementById(this._id)) {
559
+ const element = document.getElementById(this._id);
560
+ element === null || element === void 0 ? void 0 : element.remove();
561
+ }
562
+ this._map = map;
563
+ if (!this._div) {
564
+ // 创建 div 元素并设置样式
565
+ const div = document.createElement('div');
566
+ div.id = this._id;
567
+ div.style.position = 'absolute';
568
+ div.style.border = 'none';
569
+ div.style.zIndex = this._zIndex;
570
+ // 创建 img 元素并设置样式
571
+ const img = document.createElement('img');
572
+ img.src = this._imageUrl;
573
+ // 确保opacity值在0到1之间
574
+ const validOpacity = (this._opacity < 0) ? '1' : this._opacity;
575
+ img.style.opacity = validOpacity;
576
+ div.appendChild(img);
577
+ this._div = div;
578
+ }
579
+ // 监听地图缩放事件,调整覆盖物尺寸
580
+ map.addEventListener('zoomend', () => {
581
+ const swPixel = map.pointToOverlayPixel(this._bounds.getSouthWest());
582
+ const nePixel = map.pointToOverlayPixel(this._bounds.getNorthEast());
583
+ const width = nePixel.x - swPixel.x;
584
+ const height = swPixel.y - nePixel.y;
585
+ this._div.style.width = width + 'px';
586
+ this._div.style.height = height + 'px';
587
+ const img = this._div.querySelector('img');
588
+ img.style.width = width + 'px';
589
+ img.style.height = height + 'px';
590
+ });
591
+ // 将 div 元素添加到地图覆盖物层
592
+ map.getPanes().labelPane.appendChild(this._div);
593
+ return this._div;
594
+ };
595
+ // 绘制方法
596
+ GroundOverlay.prototype.draw = function () {
597
+ // 设置 div 元素位置和尺寸
598
+ const _northeast = {
599
+ lat: option.bounds.northeast.latitude,
600
+ lng: option.bounds.southwest.longitude
601
+ };
602
+ const position = this._map.pointToOverlayPixel(_northeast);
603
+ this._div.style.left = position.x + 'px';
604
+ this._div.style.top = position.y + 'px';
605
+ const bounds = this._map.getBounds();
606
+ const sw = this._map.pointToPixel(bounds.getSouthWest());
607
+ const ne = this._map.pointToPixel(bounds.getNorthEast());
608
+ const width = ne.x - sw.x;
609
+ const height = ne.y - sw.y;
610
+ const zoom = this._map.getZoom();
611
+ const imageWidth = width * Math.pow(2, 18 - zoom);
612
+ const imageHeight = height * Math.pow(2, 18 - zoom);
613
+ this._div.style.width = imageWidth + 'px';
614
+ this._div.style.height = imageHeight + 'px';
615
+ this._div.style.display = this._visible ? 'block' : 'none';
616
+ const validOpacity = (this._opacity < 0) ? '1' : this._opacity;
617
+ this._div.getElementsByTagName('img')[0].style.opacity = validOpacity;
618
+ };
619
+ // 创建 GroundOverlay 实例
620
+ const overlay = new GroundOverlay(overlayBounds, src, this.map, visible, opacity, zIndex, id);
621
+ this.map.addOverlay(overlay);
622
+ // 对所有覆盖物进行排序
623
+ const overlays = this.map.getOverlays().sort((a, b) => a._zIndex - b._zIndex);
624
+ this.groundOverlay = overlay;
625
+ // 将所有覆盖物重新绘制
626
+ overlays.forEach((overlay) => overlay.draw());
627
+ const zoom = this.map.getZoom();
628
+ if (zoom < 20) {
629
+ this.map.setZoom(zoom + 1);
630
+ this.map.setZoom(zoom);
631
+ }
632
+ else {
633
+ this.map.setZoom(zoom - 1);
634
+ this.map.setZoom(zoom);
635
+ }
636
+ return flag;
637
+ };
638
+ /* 更新自定义图片图层 */
639
+ this._updateGroundOverlay = (option) => {
640
+ const { src, opacity, bounds, visible, id, zIndex } = option;
641
+ let obj;
642
+ let flagId = true; // 标记是否有id
643
+ let flagCoordinate = true; // 标记是否有有效经纬度
644
+ let flagObj = {};
645
+ // 获取所有图层
646
+ const overlays = this.map.getOverlays();
647
+ // 找到要更新的图层
648
+ const targetOverlay = overlays.find((overlay) => overlay._id === id);
649
+ if (!targetOverlay) {
650
+ flagId = false;
651
+ flagObj = {
652
+ flagId: flagId,
653
+ flagCoordinate: flagCoordinate
654
+ };
655
+ obj = Object.assign({}, flagObj);
656
+ return obj;
657
+ }
658
+ if (bounds.southwest.longitude >= bounds.northeast.longitude || bounds.southwest.latitude >= bounds.northeast.latitude) {
659
+ flagCoordinate = false;
660
+ flagObj = {
661
+ flagId: flagId,
662
+ flagCoordinate: flagCoordinate
663
+ };
664
+ obj = Object.assign({}, flagObj);
665
+ }
666
+ if (bounds.southwest.latitude > 90 || bounds.southwest.latitude < -90 || bounds.southwest.longitude > 180 || bounds.southwest.longitude < -180 || isNaN(bounds.southwest.latitude) || isNaN(bounds.southwest.longitude)) {
667
+ flagCoordinate = false;
668
+ flagObj = {
669
+ flagId: flagId,
670
+ flagCoordinate: flagCoordinate
671
+ };
672
+ obj = Object.assign({}, flagObj);
673
+ }
674
+ if (bounds.northeast.latitude > 90 || bounds.northeast.latitude < -90 || bounds.northeast.longitude > 180 || bounds.northeast.longitude < -180 || isNaN(bounds.northeast.latitude) || isNaN(bounds.northeast.longitude)) {
675
+ flagCoordinate = false;
676
+ flagObj = {
677
+ flagId: flagId,
678
+ flagCoordinate: flagCoordinate
679
+ };
680
+ obj = Object.assign({}, flagObj);
681
+ }
682
+ if (flagId && flagCoordinate) {
683
+ const targetBounds = new BMapGL.Bounds(new BMapGL.Point(bounds.southwest.longitude, bounds.southwest.latitude), new BMapGL.Point(bounds.northeast.longitude, bounds.northeast.latitude));
684
+ const zoom = this.map.getZoom();
685
+ if (targetOverlay) {
686
+ // 更新DOM元素
687
+ const element = document.getElementById(id);
688
+ if (element) {
689
+ const imgElement = element.querySelector('img');
690
+ if (imgElement) {
691
+ // 找到了对应的元素
692
+ const validOpacity = (opacity < 0) ? '1' : opacity;
693
+ element.style.opacity = validOpacity;
694
+ imgElement.style.display = visible ? 'block' : 'none';
695
+ element.style.zIndex = zIndex;
696
+ // 加载图片
697
+ const image = new Image();
698
+ image.onload = () => {
699
+ // 图片加载完成后执行
700
+ imgElement.src = src; // 设置图片的src
701
+ // 根据当前缩放级别设置图片宽高
702
+ const lngSpan = targetBounds.getNorthEast().lng - targetBounds.getSouthWest().lng;
703
+ const mapWidth = this.map.getSize().width; // 获取地图容器的宽度
704
+ const updatedImageWidth = (mapWidth / Math.pow(2, 18 - zoom)) * lngSpan;
705
+ const imageAspectRatio = image.naturalHeight / image.naturalWidth;
706
+ const updatedImageHeight = updatedImageWidth * imageAspectRatio;
707
+ imgElement.style.width = `${updatedImageWidth}px`;
708
+ imgElement.style.height = `${updatedImageHeight}px`;
709
+ // 重新绘制图层
710
+ targetOverlay._bounds = targetBounds;
711
+ targetOverlay.draw();
712
+ // 更新完图片后,立即重绘地图
713
+ this.map.panTo(this.map.getCenter());
714
+ targetOverlay.draw();
715
+ };
716
+ image.src = src;
717
+ }
718
+ }
719
+ }
720
+ else {
721
+ // 没有找到对应的元素
722
+ console.error(`未找到id为${id}的元素`);
723
+ }
724
+ flagObj = {
725
+ flagId: flagId,
726
+ flagCoordinate: flagCoordinate
727
+ };
728
+ obj = Object.assign({}, flagObj);
729
+ return obj;
730
+ }
731
+ else {
732
+ return obj;
733
+ }
734
+ };
735
+ /* 移除自定义图片图层 */
736
+ this._removeGroundOverlay = (option) => {
737
+ // 获取所有图层
738
+ const overlays = this.map.getOverlays();
739
+ let newTargetOverlay = '';
740
+ // 找到要更新的图层
741
+ const targetOverlay = overlays.find((overlay) => overlay._id === option.id);
742
+ newTargetOverlay = targetOverlay;
743
+ if (targetOverlay) {
744
+ // 如果找到了对应的图层,执行删除操作
745
+ this.map.removeOverlay(targetOverlay);
746
+ }
747
+ return newTargetOverlay;
748
+ };
749
+ /* 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */
750
+ this._setBoundary = (option) => {
751
+ let nth = option.northeast.latitude;
752
+ let sth = option.southwest.latitude;
753
+ let flag = true;
754
+ if (option.northeast.latitude <= -80 && option.northeast.latitude >= -90) {
755
+ nth = option.northeast.latitude + 10;
756
+ }
757
+ if (option.southwest.latitude <= -80 && option.southwest.latitude >= -90) {
758
+ sth = option.southwest.latitude + 10;
759
+ }
760
+ if (option.northeast.latitude < -90 || option.northeast.latitude > 90 || option.northeast.longitude < -180 || option.northeast.longitude > 180 || isNaN(option.northeast.latitude) || isNaN(option.northeast.longitude) || option.northeast.longitude < option.southwest.longitude || option.northeast.latitude < option.southwest.latitude) {
761
+ flag = false;
762
+ return;
763
+ }
764
+ if (option.southwest.latitude < -90 || option.southwest.latitude > 90 || option.southwest.longitude < -180 || option.southwest.longitude > 180 || isNaN(option.southwest.latitude) || isNaN(option.southwest.longitude)) {
765
+ flag = false;
766
+ return;
767
+ }
768
+ const ne = new BMapGL.Point(option.northeast.longitude, nth);
769
+ const sw = new BMapGL.Point(option.southwest.longitude, sth);
770
+ const bounds = new BMapGL.Bounds(sw, ne);
771
+ const viewport = this.map.getViewport([ne, sw]);
772
+ this.map.centerAndZoom(new BMapGL.Point(viewport.center.lng, viewport.center.lat), viewport.zoom + 2);
773
+ this.map.addOverlay(new BMapGL.Polygon([
774
+ new BMapGL.Point(bounds.sw.lng, bounds.sw.lat),
775
+ new BMapGL.Point(bounds.sw.lng, bounds.ne.lat),
776
+ new BMapGL.Point(bounds.ne.lng, bounds.ne.lat),
777
+ new BMapGL.Point(bounds.ne.lng, bounds.sw.lat)
778
+ ], {
779
+ fillOpacity: 0
780
+ }));
781
+ BMapGLLib.AreaRestriction.setBounds(this.map, bounds);
782
+ return flag;
783
+ };
784
+ this.latitude = undefined;
785
+ this.longitude = undefined;
786
+ this.scale = undefined;
787
+ this.minScale = undefined;
788
+ this.maxScale = undefined;
789
+ this.markers = undefined;
790
+ this.polyline = undefined;
791
+ this.circles = undefined;
792
+ this.polygons = undefined;
793
+ this.subkey = undefined;
794
+ this.layerStyle = undefined;
795
+ this.rotate = undefined;
796
+ this.skew = undefined;
797
+ this.showCompass = undefined;
798
+ this.showScale = undefined;
799
+ this.enableOverlooking = undefined;
800
+ this.enableZoom = undefined;
801
+ this.enableScroll = undefined;
802
+ this.enableRotate = undefined;
803
+ this.enableSatellite = undefined;
804
+ this.enableTraffic = undefined;
805
+ this.enableBuilding = undefined;
806
+ this.enableAutoMaxOverlooking = undefined;
807
+ this.enable3D = undefined;
808
+ this.width = '100%';
809
+ this.height = '100%';
810
+ }
811
+ async componentDidLoad() {
812
+ // 加载地图脚本
813
+ await this.loadMapScript();
814
+ // 记载BmapLib工具库
815
+ await this.LoadBmapLibScript();
816
+ // 如果容器元素存在
817
+ if (this.mapRef) {
818
+ this.mapRef.addEventListener('touchmove', (e) => {
819
+ if (e.cancelable) {
820
+ e.preventDefault();
821
+ }
822
+ });
823
+ // 创建地图对象
824
+ this.map = new BMapGL.Map(this.mapRef);
825
+ // 移除百度地图版权信息
826
+ this.map.removeControl(this.map.getMapType());
827
+ // 创建中心点坐标对象
828
+ // 中心经纬度为必填值
829
+ if (this.latitude < -90 || this.latitude > 90 || this.longitude < -180 || this.longitude > 180 || isNaN(this.latitude) || isNaN(this.longitude)) {
830
+ console.error('请正确设置中心经纬度');
831
+ return;
832
+ }
833
+ let scale = isNaN(this.scale) ? 16 : this.scale;
834
+ let minScale = isNaN(this.minScale) ? 3 : this.minScale;
835
+ let maxScale = isNaN(this.maxScale) ? 16 : this.maxScale;
836
+ const point = new BMapGL.Point(this.longitude, this.latitude);
837
+ if (minScale < 3 || minScale > 20) {
838
+ minScale = 3;
839
+ this.map.setMinZoom(3);
840
+ }
841
+ else {
842
+ // 设置最小缩放级别
843
+ this.map.setMinZoom(minScale);
844
+ }
845
+ if (maxScale > 20 || maxScale < 3) {
846
+ maxScale = 20;
847
+ this.map.setMaxZoom(20);
848
+ }
849
+ else {
850
+ // 设置最大缩放级别
851
+ this.map.setMaxZoom(maxScale);
852
+ }
853
+ if (minScale > maxScale) {
854
+ minScale = 3;
855
+ this.map.setMinZoom(3);
856
+ maxScale = 20;
857
+ this.map.setMaxZoom(20);
858
+ }
859
+ // 设置地图中心和缩放级别
860
+ if (minScale <= 16 && maxScale >= 16) {
861
+ if (scale >= minScale && scale <= maxScale) {
862
+ // 使用this.scale来设置缩放级别
863
+ this.map.centerAndZoom(point, scale);
864
+ }
865
+ else {
866
+ scale = 16;
867
+ this.map.centerAndZoom(point, scale);
868
+ }
869
+ }
870
+ else {
871
+ if (scale >= minScale && scale <= maxScale) {
872
+ // 使用this.scale来设置缩放级别
873
+ this.map.centerAndZoom(point, scale);
874
+ }
875
+ else if (scale < minScale) {
876
+ scale = minScale;
877
+ this.map.centerAndZoom(point, minScale);
878
+ }
879
+ else {
880
+ scale = maxScale;
881
+ this.map.centerAndZoom(point, maxScale);
882
+ }
883
+ }
884
+ // 添加标记点markers
885
+ if (Array.isArray(this.markers)) {
886
+ this.addMarkers(this.markers);
887
+ }
888
+ // 创建polyline路线
889
+ if (Array.isArray(this.polyline)) {
890
+ this.polyline.forEach((line) => {
891
+ if (line.points) {
892
+ const points = line.points.map((point) => new BMapGL.Point(point.longitude, point.latitude));
893
+ const polyline = new BMapGL.Polyline(points, {
894
+ strokeColor: line.color,
895
+ strokeWeight: line.width,
896
+ strokeStyle: line.dottedLine ? 'dashed' : 'solid',
897
+ strokeOpacity: 1,
898
+ });
899
+ // 将polyline路线添加到地图上
900
+ this.map.addOverlay(polyline);
901
+ }
902
+ });
903
+ }
904
+ // 添加圆形覆盖物circles
905
+ if (Array.isArray(this.circles)) {
906
+ this.circles.forEach((circle) => {
907
+ if (circle.latitude && circle.longitude && circle.radius) {
908
+ const point = new BMapGL.Point(circle.longitude, circle.latitude);
909
+ const circleObj = new BMapGL.Circle(point, circle.radius, {
910
+ strokeColor: circle.color,
911
+ fillColor: circle.fillColor,
912
+ strokeWeight: circle.strokeWidth,
913
+ });
914
+ this.map.addOverlay(circleObj);
915
+ }
916
+ });
917
+ }
918
+ // 多边形
919
+ if (Array.isArray(this.polygons)) {
920
+ this.polygons.forEach((polygon) => {
921
+ // 创建多边形的点坐标数组
922
+ const points = polygon.points.map((point) => new BMapGL.Point(point.longitude, point.latitude));
923
+ // 创建多边形对象
924
+ const polygonObj = new BMapGL.Polygon(points, {
925
+ strokeColor: polygon.strokeColor,
926
+ fillColor: polygon.fillColor,
927
+ strokeWeight: polygon.strokeWidth,
928
+ });
929
+ // 将多边形添加到地图上
930
+ this.map.addOverlay(polygonObj);
931
+ });
932
+ }
933
+ if (this.layerStyle === 0) {
934
+ const layerStyle = this.layerStyle;
935
+ if (layerStyle) {
936
+ // 使用个性化地图样式
937
+ this.map.setMapStyleV2({ styleId: this.subkey });
938
+ }
939
+ }
940
+ else {
941
+ const layerStyle = this.layerStyle ? this.layerStyle : 1;
942
+ if (layerStyle === 1) {
943
+ // 使用个性化地图样式
944
+ this.map.setMapStyleV2({ styleId: this.subkey });
945
+ }
946
+ }
947
+ const enable3D = this.enable3D === true ? this.enable3D : false;
948
+ const enableOverlooking = this.enableOverlooking === true ? this.enableOverlooking : false;
949
+ const enableAutoMaxOverlooking = this.enableAutoMaxOverlooking === true ? this.enableAutoMaxOverlooking : false;
950
+ const skew = this.skew ? this.skew : 0;
951
+ if (enable3D === true) {
952
+ if (enableOverlooking === true) {
953
+ // /开启最大俯视角
954
+ if (enableAutoMaxOverlooking === true) {
955
+ this.map.setTilt(75);
956
+ }
957
+ else {
958
+ // 开启俯视角度
959
+ this.map.setTilt(45);
960
+ }
961
+ }
962
+ else if (skew >= 0 && skew <= 40) {
963
+ // 设置倾斜角度
964
+ this.map.setTilt(skew);
965
+ }
966
+ else {
967
+ this.map.setTilt(0);
968
+ }
969
+ }
970
+ else {
971
+ this.map.setTilt(0);
972
+ }
973
+ // 显示指南针
974
+ const showCompass = this.showCompass === true ? this.showCompass : false;
975
+ if (showCompass === true) {
976
+ const compassControl = new BMapGL.NavigationControl3D({
977
+ anchor: BMAP_ANCHOR_TOP_RIGHT,
978
+ type: 3, // 3代表显示指南针
979
+ });
980
+ this.map.addControl(compassControl);
981
+ }
982
+ // 显示比例尺
983
+ const showScale = this.showScale === true ? this.showScale : false;
984
+ if (showScale === true) {
985
+ const scaleControl = new BMapGL.ScaleControl({
986
+ anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
987
+ });
988
+ this.map.addControl(scaleControl);
989
+ }
990
+ const enableZoom = this.enableZoom === false ? this.enableZoom : true;
991
+ if (enableZoom === true) {
992
+ // 启用缩放
993
+ this.map.enableScrollWheelZoom(this.enableZoom);
994
+ }
995
+ // 启用缩放
996
+ if (this.enableZoom === true && this.mapRef) {
997
+ this.map.enablePinchToZoom();
998
+ }
999
+ else {
1000
+ this.map.disablePinchToZoom();
1001
+ }
1002
+ // 拖拽
1003
+ const enableScroll = this.enableScroll === false ? this.enableScroll : true;
1004
+ if (enableScroll === true) {
1005
+ this.map.enableDragging();
1006
+ }
1007
+ else {
1008
+ this.map.disableDragging();
1009
+ }
1010
+ const rotate = this.rotate ? this.rotate : 0;
1011
+ if (rotate >= 0 && this.rotate <= 360) {
1012
+ this.map.setHeading(this.rotate);
1013
+ }
1014
+ else {
1015
+ this.map.setHeading(0);
1016
+ }
1017
+ // 设置旋转角度
1018
+ if (this.enableRotate === true) {
1019
+ this.map.enableRotateGestures();
1020
+ }
1021
+ // 启用卫星图
1022
+ const enableSatellite = this.enableSatellite === true ? this.enableSatellite : false;
1023
+ if (enableSatellite === true && this.mapRef) {
1024
+ const mapTypeControl = new BMapGL.MapTypeControl({
1025
+ mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP],
1026
+ });
1027
+ this.map.addControl(mapTypeControl);
1028
+ }
1029
+ const enableTraffic = this.enableTraffic === true ? this.enableTraffic : false;
1030
+ if (enableTraffic === true && this.mapRef) {
1031
+ this.map.setTrafficOn();
1032
+ }
1033
+ // 是否开启建筑物
1034
+ const enableBuilding = this.enableBuilding === false ? this.enableBuilding : true;
1035
+ if (enableBuilding === false) {
1036
+ this.map.setDisplayOptions({ building: false });
1037
+ }
1038
+ }
1039
+ if (this.map) {
1040
+ // 创建Hammer对象,绑定到地图容器
1041
+ const hammer = new Hammer__default['default'](this.mapRef);
1042
+ hammer.on('tap', (e) => {
1043
+ // 将Hammer事件对象中的坐标转换为百度地图坐标
1044
+ const point = this.map.pixelToPoint({ x: e.center.x, y: e.center.y });
1045
+ this.onTap.emit({
1046
+ longitude: point.lng,
1047
+ latitude: point.lat,
1048
+ });
1049
+ });
1050
+ }
1051
+ }
1052
+ disconnectedCallback() {
1053
+ if (this.map) {
1054
+ this.map.destroy();
1055
+ }
1056
+ }
1057
+ addMarkers(markers) {
1058
+ // 维护已存在的marker id 列表
1059
+ const existingIds = [];
1060
+ markers.forEach((marker) => {
1061
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1062
+ if (existingIds.includes(marker.id)) {
1063
+ // 如果id已存在,直接返回,不执行后续操作
1064
+ console.error('请输入不同的marker的id');
1065
+ return;
1066
+ }
1067
+ existingIds.push(marker.id);
1068
+ if (marker.latitude && marker.longitude && marker.iconPath && marker.id) {
1069
+ if (marker.latitude < -90 || marker.latitude > 90 || marker.longitude < -180 || marker.longitude > 180) {
1070
+ console.error('请正确设置marker的经纬度');
1071
+ return;
1072
+ }
1073
+ const pt = new BMapGL.Point(marker.longitude, marker.latitude);
1074
+ const markerObj = new BMapGL.Marker(pt, { enableClicking: true });
1075
+ markerObj.id = marker.id; // 设置标记点的唯一标识符
1076
+ markerObj.alpha = marker.alpha;
1077
+ if (marker.zIndex) {
1078
+ markerObj.setZIndex(marker.zIndex);
1079
+ }
1080
+ if (marker.width && marker.height) {
1081
+ const canvas = document.createElement('canvas');
1082
+ canvas.width = marker.width * 2;
1083
+ canvas.height = marker.height * 2;
1084
+ // 获取 Canvas 上下文
1085
+ const ctx = canvas.getContext('2d');
1086
+ // 创建一个新的图片对象
1087
+ const img = new Image();
1088
+ // 设置图片的跨域属性
1089
+ img.crossOrigin = 'Anonymous';
1090
+ img.src = marker.iconPath;
1091
+ // 当图片加载完成后,将其绘制到Canvas上
1092
+ img.onload = function () {
1093
+ ctx.drawImage(img, 0, 0, marker.width * 2, marker.height * 2);
1094
+ // 创建 BMapGL.Icon 对象,并将 Canvas 元素作为图标的内容
1095
+ // 设置锚点偏移量为(0, 0),表示图标的左上角将与经纬度对齐
1096
+ const icon = new BMapGL.Icon(canvas.toDataURL(), new BMapGL.Size(marker.width, marker.height), {
1097
+ anchor: new BMapGL.Size(0, 0)
1098
+ });
1099
+ markerObj.setIcon(icon);
1100
+ };
1101
+ }
1102
+ else {
1103
+ const img = new Image();
1104
+ img.src = marker.iconPath;
1105
+ img.style.opacity = String(marker.alpha);
1106
+ img.onload = () => {
1107
+ const iconSize = new BMapGL.Size(img.width, img.height);
1108
+ const icon = new BMapGL.Icon(img.src, iconSize);
1109
+ icon.imageOffset = new BMapGL.Size(0, 0, marker.alpha || 1);
1110
+ markerObj.setIcon(icon);
1111
+ };
1112
+ }
1113
+ const rotate = marker.rotate ? marker.rotate : 0;
1114
+ if (rotate >= 0 && rotate <= 360) {
1115
+ markerObj.setRotation(rotate);
1116
+ }
1117
+ // 如果anchor.x和anchor.y被定义,则使用它们的值,否则使用默认值
1118
+ const anchorX = (_b = (_a = marker.anchor) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0.5;
1119
+ const anchorY = (_d = (_c = marker.anchor) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 1;
1120
+ if (anchorX >= 0 && anchorX <= 1 && anchorY >= 0 && anchorY <= 1) {
1121
+ // 锚点设置为图标宽度的负值乘以x,以向左移动
1122
+ const offsetX = -(anchorX) * (marker.width || 0);
1123
+ // 锚点设置为图标高度的负值乘以y,以向上移动
1124
+ const offsetY = -(anchorY) * (marker.height || 0);
1125
+ // 使用计算出的偏移量设置标注对象的偏移
1126
+ markerObj.setOffset(new BMapGL.Size(offsetX, offsetY));
1127
+ }
1128
+ else {
1129
+ const offsetX = -0.5 * (marker.width || 0);
1130
+ const offsetY = -1 * (marker.height || 0);
1131
+ markerObj.setOffset(new BMapGL.Size(offsetX, offsetY));
1132
+ }
1133
+ // 创建title
1134
+ if (!marker.callout && marker.title) {
1135
+ const hammer = new Hammer__default['default'](this.mapRef); // 创建Hammer对象,绑定到地图容器
1136
+ hammer.on('tap', (e) => {
1137
+ // 使用tap事件替代click事件
1138
+ const touch = e.center;
1139
+ const x = touch.x;
1140
+ const y = touch.y;
1141
+ // 假设阈值为 10,表示点击距离小于 10 个像素时认为是点击到了标记点
1142
+ const threshold = 15;
1143
+ // 遍历标记点数组,计算触摸位置与每个标记点的距离
1144
+ this.markers.forEach((marker) => {
1145
+ // 通过class名获取地图容器
1146
+ const mapContainer = document.getElementsByClassName('bmap-container')[0];
1147
+ // 获取地图容器在屏幕上的偏移量
1148
+ const mapContainerRect = mapContainer.getBoundingClientRect();
1149
+ const mapOffsetX = mapContainerRect.left;
1150
+ const mapOffsetY = mapContainerRect.top;
1151
+ const point = new BMapGL.Point(marker.longitude, marker.latitude);
1152
+ const pixel = this.map.pointToPixel(point);
1153
+ const markerX = pixel.x + mapOffsetX;
1154
+ const markerY = pixel.y + mapOffsetY;
1155
+ // 计算触摸位置与标记点的距离
1156
+ const distance = Math.sqrt(Math.pow(x - markerX, 2) + Math.pow(y - markerY, 2));
1157
+ if (distance < threshold && marker.id === markerObj.id) {
1158
+ // 最近的标记点距离小于阈值,表示用户点击到了标记点
1159
+ const content = `<div style="text-align:center">${marker.title}</div>`;
1160
+ const infoWindow = new BMapGL.InfoWindow(content);
1161
+ this.map.openInfoWindow(infoWindow, pt);
1162
+ }
1163
+ });
1164
+ });
1165
+ }
1166
+ if (marker.callout) {
1167
+ const offsetX = ((_e = marker.callout) === null || _e === void 0 ? void 0 : _e.anchorX) ? (_f = marker.callout) === null || _f === void 0 ? void 0 : _f.anchorX : 0; // 横向偏移量
1168
+ const offsetY = ((_g = marker.callout) === null || _g === void 0 ? void 0 : _g.anchorY) ? (_h = marker.callout) === null || _h === void 0 ? void 0 : _h.anchorY : 0; // 纵向偏移量
1169
+ // 创建气泡(callout)对象
1170
+ const callout = new BMapGL.InfoWindow(`<div style="
1171
+ padding: ${(_j = marker.callout) === null || _j === void 0 ? void 0 : _j.padding}px;
1172
+ color:${(_k = marker.callout) === null || _k === void 0 ? void 0 : _k.color};
1173
+ text-align:${(_l = marker.callout) === null || _l === void 0 ? void 0 : _l.textAlign};"
1174
+ >
1175
+ <p style="font-size:${(_m = marker.callout) === null || _m === void 0 ? void 0 : _m.fontSize}px">${((_o = marker.callout) === null || _o === void 0 ? void 0 : _o.content) || ''}</p>
1176
+ </div>`, {
1177
+ width: 200,
1178
+ height: 100,
1179
+ offset: new BMapGL.Size(offsetX - 24, offsetY - 20), // 设置偏移量
1180
+ });
1181
+ // 自定义属性存储气泡(callout)对象
1182
+ markerObj.callout = callout;
1183
+ // 将气泡(callout)对象绑定到标记(marker)对象上
1184
+ this.map.addOverlay(markerObj);
1185
+ if (((_p = marker.callout) === null || _p === void 0 ? void 0 : _p.display) === 'ALWAYS') {
1186
+ markerObj.callout.disableCloseOnClick();
1187
+ const point = markerObj.getPosition(); // 获取marker标记点的位置
1188
+ markerObj.callout.addEventListener('open', function () {
1189
+ var _a, _b, _c, _d;
1190
+ const infoWindowElement = document.querySelector('.BMap_bubble_pop');
1191
+ if (infoWindowElement) {
1192
+ let triangle = infoWindowElement.querySelector('.triangle');
1193
+ if (!triangle) {
1194
+ // 如果不存在,则创建并添加新的三角形 div
1195
+ triangle = document.createElement('div');
1196
+ triangle.className = 'triangle'; // 添加一个类名以便日后查找
1197
+ infoWindowElement.appendChild(triangle);
1198
+ }
1199
+ const img = document.querySelector('.BMap_bubble_pop>img');
1200
+ if (img) {
1201
+ img.setAttribute('style', `position: absolute;transform: translate(-50%, 0); top: ${point.lat - 100}px; left: ${point.lng - 20}px;display:none`);
1202
+ }
1203
+ const backgroundcolor = (_a = marker.callout) === null || _a === void 0 ? void 0 : _a.bgColor;
1204
+ let borderWidth = ((_b = marker.callout) === null || _b === void 0 ? void 0 : _b.borderWidth) || 5;
1205
+ const borderColor = (_c = marker.callout) === null || _c === void 0 ? void 0 : _c.borderColor;
1206
+ const borderRadius = (_d = marker.callout) === null || _d === void 0 ? void 0 : _d.borderRadius;
1207
+ // 确保边框大小不超过15
1208
+ borderWidth = Math.min(borderWidth, 15);
1209
+ triangle.setAttribute('style', `width:0;height:0;borderLeft:${borderWidth}px solid transparent;borderRight:${borderWidth}px solid transparent;borderTop:${borderWidth}px solid ${borderColor};position:absolute;left:83px;bottom:-${2 * borderWidth}px`);
1210
+ infoWindowElement.setAttribute('style', `background-color:${backgroundcolor};top:${point.lat - 120}px; left:${point.lng - 100}px;position: absolute;border: ${borderWidth}px solid ${borderColor};border-radius:${borderRadius}px; `);
1211
+ }
1212
+ });
1213
+ this.map.openInfoWindow(markerObj.callout, pt);
1214
+ }
1215
+ else {
1216
+ const hammer = new Hammer__default['default'](this.mapRef); // 创建Hammer对象,绑定到地图容器
1217
+ hammer.on('tap', (e) => {
1218
+ // 使用tap事件替代click事件
1219
+ const touch = e.center;
1220
+ const x = touch.x;
1221
+ const y = touch.y;
1222
+ // 假设阈值为 10,表示点击距离小于 10 个像素时认为是点击到了标记点
1223
+ const threshold = 15;
1224
+ // 遍历标记点数组,计算触摸位置与每个标记点的距离
1225
+ this.markers.forEach((marker) => {
1226
+ // 通过class名获取地图容器
1227
+ const mapContainer = document.getElementsByClassName('bmap-container')[0];
1228
+ // 获取地图容器在屏幕上的偏移量
1229
+ const mapContainerRect = mapContainer.getBoundingClientRect();
1230
+ const mapOffsetX = mapContainerRect.left;
1231
+ const mapOffsetY = mapContainerRect.top;
1232
+ const point = new BMapGL.Point(marker.longitude, marker.latitude);
1233
+ const pixel = this.map.pointToPixel(point);
1234
+ const markerX = pixel.x + mapOffsetX;
1235
+ const markerY = pixel.y + mapOffsetY;
1236
+ // 计算触摸位置与标记点的距离
1237
+ const distance = Math.sqrt(Math.pow(x - markerX, 2) + Math.pow(y - markerY, 2));
1238
+ if (distance < threshold && marker.id === markerObj.id) {
1239
+ const point = markerObj.getPosition(); // 获取marker标记点的位置
1240
+ markerObj.callout.addEventListener('open', function () {
1241
+ var _a, _b, _c, _d;
1242
+ const infoWindowElement = document.querySelector('.BMap_bubble_pop');
1243
+ if (infoWindowElement) {
1244
+ let triangle = infoWindowElement.querySelector('.triangle');
1245
+ if (!triangle) {
1246
+ // 如果不存在,则创建并添加新的三角形 div
1247
+ triangle = document.createElement('div');
1248
+ triangle.className = 'triangle'; // 添加一个类名以便日后查找
1249
+ infoWindowElement.appendChild(triangle);
1250
+ }
1251
+ const img = document.querySelector('.BMap_bubble_pop>img');
1252
+ if (img) {
1253
+ img.setAttribute('style', `position: absolute;transform: translate(-50%, 0); top: ${point.lat - 100}px; left: ${point.lng - 20}px;display:none`);
1254
+ }
1255
+ const backgroundcolor = (_a = marker.callout) === null || _a === void 0 ? void 0 : _a.bgColor;
1256
+ let borderWidth = ((_b = marker.callout) === null || _b === void 0 ? void 0 : _b.borderWidth) || 5;
1257
+ const borderColor = (_c = marker.callout) === null || _c === void 0 ? void 0 : _c.borderColor;
1258
+ const borderRadius = (_d = marker.callout) === null || _d === void 0 ? void 0 : _d.borderRadius;
1259
+ // 确保边框大小不超过15
1260
+ borderWidth = Math.min(borderWidth, 15);
1261
+ triangle.setAttribute('style', `width:0;height:0;border-left:${borderWidth}px solid transparent;border-right:${borderWidth}px solid transparent;border-top:${borderWidth}px solid ${borderColor};position:absolute;left:83px;bottom:-${2 * borderWidth}px`);
1262
+ infoWindowElement.setAttribute('style', `background-color:${backgroundcolor};top:${point.lat - 120}px; left:${point.lng - 100}px;position: absolute;border: ${borderWidth}px solid ${borderColor};border-radius:${borderRadius}px; `);
1263
+ }
1264
+ });
1265
+ // 最近的标记点距离小于阈值,表示用户点击到了标记点
1266
+ this.map.openInfoWindow(markerObj.callout, pt);
1267
+ }
1268
+ else {
1269
+ markerObj.callout.enableCloseOnClick();
1270
+ // 用户点击到了地图上的其他位置,不是标记点
1271
+ }
1272
+ });
1273
+ });
1274
+ }
1275
+ }
1276
+ // 判断是否有label属性
1277
+ if (marker.label) {
1278
+ const labelContent = marker.label.content || '';
1279
+ const labelOpts = {
1280
+ position: pt,
1281
+ offset: new BMapGL.Size(marker.label.anchorX || 0, marker.label.anchorY || 0),
1282
+ };
1283
+ const label = new BMapGL.Label(labelContent, labelOpts);
1284
+ const borderColor = marker.label.borderColor ? marker.label.borderColor : 'white';
1285
+ // 设置标签样式
1286
+ label.setStyle({
1287
+ color: marker.label.color,
1288
+ fontSize: marker.label.fontSize + 'px',
1289
+ borderWidth: marker.label.borderWidth + 'px',
1290
+ borderColor: borderColor,
1291
+ borderRadius: marker.label.borderRadius + 'px',
1292
+ background: marker.label.bgColor,
1293
+ padding: marker.label.padding + 'px',
1294
+ });
1295
+ markerObj.setLabel(label);
1296
+ }
1297
+ this.map.addOverlay(markerObj);
1298
+ }
1299
+ else {
1300
+ console.error('请检查marker经纬度和marker自定义图标路径和id值');
1301
+ }
1302
+ });
1303
+ }
1304
+ loadMapScript() {
1305
+ return new Promise((resolve, reject) => {
1306
+ const script = document.createElement('script');
1307
+ script.src = 'https://api.map.baidu.com/getscript?v=3.0&type=webgl&ak=Mb1FLBD3gfnY6bup4v6zEWh6MXwsZ9eo';
1308
+ script.defer = true;
1309
+ script.onload = () => resolve();
1310
+ script.onerror = reject;
1311
+ script.type = 'text/javascript';
1312
+ document.head.appendChild(script);
1313
+ });
12
1314
  }
13
- componentDidLoad() {
14
- helper.notSupport('Map', this);
1315
+ async LoadBmapLibScript() {
1316
+ return new Promise((resolve, reject) => {
1317
+ // 地图加载完成后再加载BMapGLLib
1318
+ const bmapLibScript = document.createElement('script');
1319
+ bmapLibScript.src = '//mapopen.bj.bcebos.com/github/BMapGLLib/AreaRestriction/src/AreaRestriction.min.js';
1320
+ bmapLibScript.defer = true;
1321
+ bmapLibScript.type = 'text/javascript';
1322
+ bmapLibScript.onload = () => {
1323
+ resolve();
1324
+ };
1325
+ bmapLibScript.onerror = reject;
1326
+ document.head.appendChild(bmapLibScript);
1327
+ });
15
1328
  }
16
1329
  render() {
17
- return (index.h(index.Host, null));
1330
+ return (index.h(index.Host, null, index.h("div", { id: "mapContainer", ref: (dom) => {
1331
+ if (dom) {
1332
+ this.mapRef = dom;
1333
+ }
1334
+ }, style: { width: this.width, height: this.height } })));
18
1335
  }
1336
+ get el() { return index.getElement(this); }
19
1337
  };
1338
+ Map.style = mapCss;
20
1339
 
21
1340
  exports.taro_map_core = Map;