@tarojs/components 4.0.0-beta.82 → 4.0.0-beta.84

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 (580) hide show
  1. package/LICENSE +8 -8
  2. package/README.md +1 -1
  3. package/dist/cjs/{index-f6805218.js → index-b873e40f.js} +45 -27
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  24. package/dist/cjs/taro-cover-view-core.cjs.entry.js +2 -2
  25. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +1 -1
  26. package/dist/cjs/taro-draggable-sheet-core.cjs.entry.js +1 -1
  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 +1 -1
  32. package/dist/cjs/taro-grid-view-core.cjs.entry.js +1 -1
  33. package/dist/cjs/taro-icon-core.cjs.entry.js +2 -2
  34. package/dist/cjs/taro-image-core.cjs.entry.js +2 -2
  35. package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js +1 -1
  36. package/dist/cjs/taro-input-core.cjs.entry.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  53. package/dist/cjs/taro-nested-scroll-body-core.cjs.entry.js +1 -1
  54. package/dist/cjs/taro-nested-scroll-header-core.cjs.entry.js +1 -1
  55. package/dist/cjs/taro-official-account-core.cjs.entry.js +1 -1
  56. package/dist/cjs/taro-open-container-core.cjs.entry.js +1 -1
  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 +2 -2
  62. package/dist/cjs/taro-progress-core.cjs.entry.js +1 -1
  63. package/dist/cjs/taro-pull-to-refresh-core.cjs.entry.js +2 -2
  64. package/dist/cjs/taro-radio-core_2.cjs.entry.js +1 -1
  65. package/dist/cjs/taro-rich-text-core.cjs.entry.js +1 -1
  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 +2 -2
  70. package/dist/cjs/taro-share-element-core.cjs.entry.js +1 -1
  71. package/dist/cjs/taro-slider-core.cjs.entry.js +1 -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 +1 -1
  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 +2 -2
  78. package/dist/cjs/taro-switch-core.cjs.entry.js +1 -1
  79. package/dist/cjs/taro-tab-item-core.cjs.entry.js +1 -1
  80. package/dist/cjs/taro-tabbar.cjs.entry.js +2 -2
  81. package/dist/cjs/taro-tabs-core.cjs.entry.js +1 -1
  82. package/dist/cjs/taro-text-core.cjs.entry.js +1 -1
  83. package/dist/cjs/taro-textarea-core.cjs.entry.js +1 -1
  84. package/dist/cjs/taro-video-control_3.cjs.entry.js +2 -2
  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 +1 -1
  88. package/dist/collection/components/map/map.js +1806 -4
  89. package/dist/collection/components/map/style/map.css +1 -0
  90. package/dist/components/index2.js +45 -27
  91. package/dist/components/taro-map-core.js +1349 -6
  92. package/dist/esm/{index-c3e4004b.js → index-b9522531.js} +45 -27
  93. package/dist/esm/loader.js +3 -3
  94. package/dist/esm/taro-ad-core.entry.js +1 -1
  95. package/dist/esm/taro-ad-custom-core.entry.js +1 -1
  96. package/dist/esm/taro-animation-video-core.entry.js +1 -1
  97. package/dist/esm/taro-animation-view-core.entry.js +1 -1
  98. package/dist/esm/taro-ar-camera-core.entry.js +1 -1
  99. package/dist/esm/taro-audio-core.entry.js +1 -1
  100. package/dist/esm/taro-aweme-data-core.entry.js +1 -1
  101. package/dist/esm/taro-block-core.entry.js +1 -1
  102. package/dist/esm/taro-button-core.entry.js +2 -2
  103. package/dist/esm/taro-camera-core.entry.js +1 -1
  104. package/dist/esm/taro-canvas-core.entry.js +1 -1
  105. package/dist/esm/taro-channel-live-core.entry.js +1 -1
  106. package/dist/esm/taro-channel-video-core.entry.js +1 -1
  107. package/dist/esm/taro-checkbox-core_2.entry.js +1 -1
  108. package/dist/esm/taro-comment-detail-core.entry.js +1 -1
  109. package/dist/esm/taro-comment-list-core.entry.js +1 -1
  110. package/dist/esm/taro-components.js +3 -3
  111. package/dist/esm/taro-contact-button-core.entry.js +1 -1
  112. package/dist/esm/taro-cover-image-core.entry.js +1 -1
  113. package/dist/esm/taro-cover-view-core.entry.js +2 -2
  114. package/dist/esm/taro-custom-wrapper-core.entry.js +1 -1
  115. package/dist/esm/taro-draggable-sheet-core.entry.js +1 -1
  116. package/dist/esm/taro-editor-core.entry.js +1 -1
  117. package/dist/esm/taro-follow-swan-core.entry.js +1 -1
  118. package/dist/esm/taro-form-core.entry.js +1 -1
  119. package/dist/esm/taro-functional-page-navigator-core.entry.js +1 -1
  120. package/dist/esm/taro-grid-builder-core.entry.js +1 -1
  121. package/dist/esm/taro-grid-view-core.entry.js +1 -1
  122. package/dist/esm/taro-icon-core.entry.js +2 -2
  123. package/dist/esm/taro-image-core.entry.js +2 -2
  124. package/dist/esm/taro-inline-payment-panel-core.entry.js +1 -1
  125. package/dist/esm/taro-input-core.entry.js +1 -1
  126. package/dist/esm/taro-keyboard-accessory-core.entry.js +1 -1
  127. package/dist/esm/taro-label-core.entry.js +1 -1
  128. package/dist/esm/taro-lifestyle-core.entry.js +1 -1
  129. package/dist/esm/taro-like-core.entry.js +1 -1
  130. package/dist/esm/taro-list-builder-core.entry.js +1 -1
  131. package/dist/esm/taro-list-view-core.entry.js +1 -1
  132. package/dist/esm/taro-live-player-core.entry.js +1 -1
  133. package/dist/esm/taro-live-pusher-core.entry.js +1 -1
  134. package/dist/esm/taro-login-core.entry.js +1 -1
  135. package/dist/esm/taro-lottie-core.entry.js +1 -1
  136. package/dist/esm/taro-map-core.entry.js +1321 -6
  137. package/dist/esm/taro-match-media-core.entry.js +1 -1
  138. package/dist/esm/taro-movable-area-core_2.entry.js +1 -1
  139. package/dist/esm/taro-native-slot-core.entry.js +1 -1
  140. package/dist/esm/taro-navigation-bar-core.entry.js +1 -1
  141. package/dist/esm/taro-navigator-core.entry.js +2 -2
  142. package/dist/esm/taro-nested-scroll-body-core.entry.js +1 -1
  143. package/dist/esm/taro-nested-scroll-header-core.entry.js +1 -1
  144. package/dist/esm/taro-official-account-core.entry.js +1 -1
  145. package/dist/esm/taro-open-container-core.entry.js +1 -1
  146. package/dist/esm/taro-open-data-core.entry.js +1 -1
  147. package/dist/esm/taro-page-container-core.entry.js +1 -1
  148. package/dist/esm/taro-page-meta-core.entry.js +1 -1
  149. package/dist/esm/taro-picker-core_2.entry.js +2 -2
  150. package/dist/esm/taro-picker-view-column-core_2.entry.js +2 -2
  151. package/dist/esm/taro-progress-core.entry.js +1 -1
  152. package/dist/esm/taro-pull-to-refresh-core.entry.js +2 -2
  153. package/dist/esm/taro-radio-core_2.entry.js +1 -1
  154. package/dist/esm/taro-rich-text-core.entry.js +1 -1
  155. package/dist/esm/taro-root-portal-core.entry.js +1 -1
  156. package/dist/esm/taro-rtc-room-core.entry.js +1 -1
  157. package/dist/esm/taro-rtc-room-item-core.entry.js +1 -1
  158. package/dist/esm/taro-scroll-view-core.entry.js +2 -2
  159. package/dist/esm/taro-share-element-core.entry.js +1 -1
  160. package/dist/esm/taro-slider-core.entry.js +1 -1
  161. package/dist/esm/taro-slot-core.entry.js +1 -1
  162. package/dist/esm/taro-snapshot-core.entry.js +1 -1
  163. package/dist/esm/taro-span-core.entry.js +1 -1
  164. package/dist/esm/taro-sticky-header-core.entry.js +1 -1
  165. package/dist/esm/taro-sticky-section-core.entry.js +1 -1
  166. package/dist/esm/taro-swiper-core_2.entry.js +2 -2
  167. package/dist/esm/taro-switch-core.entry.js +1 -1
  168. package/dist/esm/taro-tab-item-core.entry.js +1 -1
  169. package/dist/esm/taro-tabbar.entry.js +2 -2
  170. package/dist/esm/taro-tabs-core.entry.js +1 -1
  171. package/dist/esm/taro-text-core.entry.js +1 -1
  172. package/dist/esm/taro-textarea-core.entry.js +1 -1
  173. package/dist/esm/taro-video-control_3.entry.js +2 -2
  174. package/dist/esm/taro-view-core.entry.js +2 -2
  175. package/dist/esm/taro-voip-room-core.entry.js +1 -1
  176. package/dist/esm/taro-web-view-core.entry.js +1 -1
  177. package/dist/esm-es5/index-b9522531.js +7 -0
  178. package/dist/esm-es5/loader.js +1 -1
  179. package/dist/esm-es5/taro-ad-core.entry.js +1 -1
  180. package/dist/esm-es5/taro-ad-custom-core.entry.js +1 -1
  181. package/dist/esm-es5/taro-animation-video-core.entry.js +1 -1
  182. package/dist/esm-es5/taro-animation-view-core.entry.js +1 -1
  183. package/dist/esm-es5/taro-ar-camera-core.entry.js +1 -1
  184. package/dist/esm-es5/taro-audio-core.entry.js +1 -1
  185. package/dist/esm-es5/taro-aweme-data-core.entry.js +1 -1
  186. package/dist/esm-es5/taro-block-core.entry.js +1 -1
  187. package/dist/esm-es5/taro-button-core.entry.js +1 -1
  188. package/dist/esm-es5/taro-camera-core.entry.js +1 -1
  189. package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
  190. package/dist/esm-es5/taro-channel-live-core.entry.js +1 -1
  191. package/dist/esm-es5/taro-channel-video-core.entry.js +1 -1
  192. package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
  193. package/dist/esm-es5/taro-comment-detail-core.entry.js +1 -1
  194. package/dist/esm-es5/taro-comment-list-core.entry.js +1 -1
  195. package/dist/esm-es5/taro-components.js +1 -1
  196. package/dist/esm-es5/taro-contact-button-core.entry.js +1 -1
  197. package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
  198. package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
  199. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
  200. package/dist/esm-es5/taro-draggable-sheet-core.entry.js +1 -1
  201. package/dist/esm-es5/taro-editor-core.entry.js +1 -1
  202. package/dist/esm-es5/taro-follow-swan-core.entry.js +1 -1
  203. package/dist/esm-es5/taro-form-core.entry.js +1 -1
  204. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +1 -1
  205. package/dist/esm-es5/taro-grid-builder-core.entry.js +1 -1
  206. package/dist/esm-es5/taro-grid-view-core.entry.js +1 -1
  207. package/dist/esm-es5/taro-icon-core.entry.js +1 -1
  208. package/dist/esm-es5/taro-image-core.entry.js +1 -1
  209. package/dist/esm-es5/taro-inline-payment-panel-core.entry.js +1 -1
  210. package/dist/esm-es5/taro-input-core.entry.js +1 -1
  211. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +1 -1
  212. package/dist/esm-es5/taro-label-core.entry.js +1 -1
  213. package/dist/esm-es5/taro-lifestyle-core.entry.js +1 -1
  214. package/dist/esm-es5/taro-like-core.entry.js +1 -1
  215. package/dist/esm-es5/taro-list-builder-core.entry.js +1 -1
  216. package/dist/esm-es5/taro-list-view-core.entry.js +1 -1
  217. package/dist/esm-es5/taro-live-player-core.entry.js +1 -1
  218. package/dist/esm-es5/taro-live-pusher-core.entry.js +1 -1
  219. package/dist/esm-es5/taro-login-core.entry.js +1 -1
  220. package/dist/esm-es5/taro-lottie-core.entry.js +1 -1
  221. package/dist/esm-es5/taro-map-core.entry.js +1 -1
  222. package/dist/esm-es5/taro-match-media-core.entry.js +1 -1
  223. package/dist/esm-es5/taro-movable-area-core_2.entry.js +1 -1
  224. package/dist/esm-es5/taro-native-slot-core.entry.js +1 -1
  225. package/dist/esm-es5/taro-navigation-bar-core.entry.js +1 -1
  226. package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
  227. package/dist/esm-es5/taro-nested-scroll-body-core.entry.js +1 -1
  228. package/dist/esm-es5/taro-nested-scroll-header-core.entry.js +1 -1
  229. package/dist/esm-es5/taro-official-account-core.entry.js +1 -1
  230. package/dist/esm-es5/taro-open-container-core.entry.js +1 -1
  231. package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
  232. package/dist/esm-es5/taro-page-container-core.entry.js +1 -1
  233. package/dist/esm-es5/taro-page-meta-core.entry.js +1 -1
  234. package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
  235. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +1 -1
  236. package/dist/esm-es5/taro-progress-core.entry.js +1 -1
  237. package/dist/esm-es5/taro-pull-to-refresh-core.entry.js +1 -1
  238. package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
  239. package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
  240. package/dist/esm-es5/taro-root-portal-core.entry.js +1 -1
  241. package/dist/esm-es5/taro-rtc-room-core.entry.js +1 -1
  242. package/dist/esm-es5/taro-rtc-room-item-core.entry.js +1 -1
  243. package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
  244. package/dist/esm-es5/taro-share-element-core.entry.js +1 -1
  245. package/dist/esm-es5/taro-slider-core.entry.js +1 -1
  246. package/dist/esm-es5/taro-slot-core.entry.js +1 -1
  247. package/dist/esm-es5/taro-snapshot-core.entry.js +1 -1
  248. package/dist/esm-es5/taro-span-core.entry.js +1 -1
  249. package/dist/esm-es5/taro-sticky-header-core.entry.js +1 -1
  250. package/dist/esm-es5/taro-sticky-section-core.entry.js +1 -1
  251. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  252. package/dist/esm-es5/taro-switch-core.entry.js +1 -1
  253. package/dist/esm-es5/taro-tab-item-core.entry.js +1 -1
  254. package/dist/esm-es5/taro-tabbar.entry.js +1 -1
  255. package/dist/esm-es5/taro-tabs-core.entry.js +1 -1
  256. package/dist/esm-es5/taro-text-core.entry.js +1 -1
  257. package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
  258. package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
  259. package/dist/esm-es5/taro-view-core.entry.js +1 -1
  260. package/dist/esm-es5/taro-voip-room-core.entry.js +1 -1
  261. package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
  262. package/dist/hydrate/index.js +1396 -33
  263. package/dist/taro-components/{p-7b3ce3af.system.entry.js → p-02465454.system.entry.js} +1 -1
  264. package/dist/taro-components/{p-62df5526.entry.js → p-02d4d104.entry.js} +1 -1
  265. package/dist/taro-components/{p-0f95be56.entry.js → p-03dc0283.entry.js} +1 -1
  266. package/dist/taro-components/{p-7f3d9184.entry.js → p-047e4bfe.entry.js} +1 -1
  267. package/dist/taro-components/{p-0044961f.system.entry.js → p-06adeb65.system.entry.js} +1 -1
  268. package/dist/taro-components/{p-ead6e57b.entry.js → p-078cb65e.entry.js} +1 -1
  269. package/dist/taro-components/{p-194ace03.system.entry.js → p-07ae6678.system.entry.js} +1 -1
  270. package/dist/taro-components/{p-7bc6aa36.entry.js → p-07f27474.entry.js} +1 -1
  271. package/dist/taro-components/{p-a997cf7c.system.entry.js → p-083c3147.system.entry.js} +1 -1
  272. package/dist/taro-components/{p-3430d520.system.entry.js → p-0a64f78c.system.entry.js} +1 -1
  273. package/dist/taro-components/p-0f2c1ecc.entry.js +1 -0
  274. package/dist/taro-components/{p-8b7e37c9.system.entry.js → p-0f480c38.system.entry.js} +1 -1
  275. package/dist/taro-components/{p-b655e854.system.entry.js → p-0fc790c0.system.entry.js} +1 -1
  276. package/dist/taro-components/{p-370cc947.entry.js → p-0ff5a55b.entry.js} +1 -1
  277. package/dist/taro-components/{p-19b04eb7.entry.js → p-12582166.entry.js} +1 -1
  278. package/dist/taro-components/{p-2f8ebd28.system.entry.js → p-12beb90a.system.entry.js} +1 -1
  279. package/dist/taro-components/{p-1d102ddb.system.entry.js → p-156e9634.system.entry.js} +1 -1
  280. package/dist/taro-components/p-160d710a.js +7 -0
  281. package/dist/taro-components/{p-46ccb393.system.entry.js → p-17938fa0.system.entry.js} +1 -1
  282. package/dist/taro-components/{p-e6a2f1bd.system.entry.js → p-17b9f865.system.entry.js} +1 -1
  283. package/dist/taro-components/{p-43932446.entry.js → p-17e72555.entry.js} +1 -1
  284. package/dist/taro-components/{p-e41ed824.system.entry.js → p-1bd4da3b.system.entry.js} +1 -1
  285. package/dist/taro-components/{p-f470ce9f.system.entry.js → p-1c37143a.system.entry.js} +1 -1
  286. package/dist/taro-components/{p-3e4b5391.system.entry.js → p-1eac5291.system.entry.js} +1 -1
  287. package/dist/taro-components/{p-5bfdb5f3.entry.js → p-1eea2828.entry.js} +1 -1
  288. package/dist/taro-components/{p-1acf7537.entry.js → p-204996e7.entry.js} +1 -1
  289. package/dist/taro-components/{p-d29a59cd.entry.js → p-26eb2f3f.entry.js} +1 -1
  290. package/dist/taro-components/{p-aed23034.system.entry.js → p-27041d86.system.entry.js} +1 -1
  291. package/dist/taro-components/{p-f0056aca.system.entry.js → p-27d372b4.system.entry.js} +1 -1
  292. package/dist/taro-components/{p-a6790f39.entry.js → p-280795f2.entry.js} +1 -1
  293. package/dist/taro-components/{p-16705ca9.entry.js → p-292470e5.entry.js} +1 -1
  294. package/dist/taro-components/{p-2ebc3182.entry.js → p-2d537212.entry.js} +1 -1
  295. package/dist/taro-components/{p-87b0d22f.entry.js → p-2f177716.entry.js} +1 -1
  296. package/dist/taro-components/{p-fe1dd94f.system.entry.js → p-3293c5d9.system.entry.js} +1 -1
  297. package/dist/taro-components/{p-12b967fd.entry.js → p-32c0f326.entry.js} +1 -1
  298. package/dist/taro-components/{p-80228985.entry.js → p-35dec732.entry.js} +1 -1
  299. package/dist/taro-components/{p-ae99551a.entry.js → p-38b29261.entry.js} +1 -1
  300. package/dist/taro-components/{p-756aa971.entry.js → p-3a180dc7.entry.js} +1 -1
  301. package/dist/taro-components/{p-970a4199.system.entry.js → p-3b36196b.system.entry.js} +1 -1
  302. package/dist/taro-components/{p-dc366f18.entry.js → p-3cf08137.entry.js} +1 -1
  303. package/dist/taro-components/{p-28bc8a48.entry.js → p-402c7f93.entry.js} +1 -1
  304. package/dist/taro-components/{p-4a748c0d.entry.js → p-425d1d69.entry.js} +1 -1
  305. package/dist/taro-components/{p-c0d93f74.entry.js → p-43367dd1.entry.js} +1 -1
  306. package/dist/taro-components/p-443b9a72.system.js +7 -0
  307. package/dist/taro-components/{p-cc993977.system.entry.js → p-443e31ab.system.entry.js} +1 -1
  308. package/dist/taro-components/{p-77e030e9.system.entry.js → p-450f7b39.system.entry.js} +1 -1
  309. package/dist/taro-components/{p-e23769c4.entry.js → p-4523b1c7.entry.js} +1 -1
  310. package/dist/taro-components/{p-4824cc94.entry.js → p-46a66c43.entry.js} +1 -1
  311. package/dist/taro-components/{p-ffaac078.system.entry.js → p-47790dc0.system.entry.js} +1 -1
  312. package/dist/taro-components/{p-618ee593.system.entry.js → p-4979e93c.system.entry.js} +1 -1
  313. package/dist/taro-components/{p-bdafd94c.system.entry.js → p-4a8b4d58.system.entry.js} +1 -1
  314. package/dist/taro-components/{p-eda34d91.system.entry.js → p-4ac48df1.system.entry.js} +1 -1
  315. package/dist/taro-components/{p-f782ee74.system.entry.js → p-4fad4beb.system.entry.js} +1 -1
  316. package/dist/taro-components/{p-e2694a79.system.entry.js → p-50849470.system.entry.js} +1 -1
  317. package/dist/taro-components/{p-4e63d3bd.entry.js → p-55e12654.entry.js} +1 -1
  318. package/dist/taro-components/{p-6f8926e3.entry.js → p-56552c9e.entry.js} +1 -1
  319. package/dist/taro-components/{p-c58627f4.entry.js → p-56a82bf3.entry.js} +1 -1
  320. package/dist/taro-components/{p-7b80637e.system.entry.js → p-57911e2c.system.entry.js} +1 -1
  321. package/dist/taro-components/{p-3eedb8d7.system.entry.js → p-57b77f17.system.entry.js} +1 -1
  322. package/dist/taro-components/{p-04f97133.system.entry.js → p-5884c108.system.entry.js} +1 -1
  323. package/dist/taro-components/{p-55934653.system.entry.js → p-5b9aa4b0.system.entry.js} +1 -1
  324. package/dist/taro-components/{p-5b86e66b.system.entry.js → p-5c156db3.system.entry.js} +1 -1
  325. package/dist/taro-components/{p-342a2594.entry.js → p-5c98f478.entry.js} +1 -1
  326. package/dist/taro-components/{p-829157b1.system.entry.js → p-61a325d2.system.entry.js} +1 -1
  327. package/dist/taro-components/{p-9f3e0019.system.entry.js → p-6282bdee.system.entry.js} +1 -1
  328. package/dist/taro-components/{p-fbb789a4.system.entry.js → p-65d11e99.system.entry.js} +1 -1
  329. package/dist/taro-components/{p-66029061.system.entry.js → p-6654374e.system.entry.js} +1 -1
  330. package/dist/taro-components/{p-aa11b00c.system.entry.js → p-6664a2ca.system.entry.js} +1 -1
  331. package/dist/taro-components/{p-0d8a0733.entry.js → p-68197378.entry.js} +1 -1
  332. package/dist/taro-components/p-6989c232.entry.js +1 -0
  333. package/dist/taro-components/{p-6c06b440.system.entry.js → p-6b83388c.system.entry.js} +1 -1
  334. package/dist/taro-components/{p-4621b303.system.entry.js → p-6ba08ce0.system.entry.js} +1 -1
  335. package/dist/taro-components/{p-0fe4660a.entry.js → p-6cc0bcb9.entry.js} +1 -1
  336. package/dist/taro-components/p-7163d09e.system.js +1 -0
  337. package/dist/taro-components/{p-e5b43c80.system.entry.js → p-75b4c1fc.system.entry.js} +1 -1
  338. package/dist/taro-components/{p-069ae782.system.entry.js → p-75ded8a0.system.entry.js} +1 -1
  339. package/dist/taro-components/{p-da4c4cad.entry.js → p-77e82dfa.entry.js} +1 -1
  340. package/dist/taro-components/{p-dde26531.entry.js → p-79cad66b.entry.js} +1 -1
  341. package/dist/taro-components/{p-f94c0445.system.entry.js → p-7ca2d075.system.entry.js} +1 -1
  342. package/dist/taro-components/{p-5a78fbdf.system.entry.js → p-7e054ae7.system.entry.js} +1 -1
  343. package/dist/taro-components/{p-b4047b11.entry.js → p-7e564b00.entry.js} +1 -1
  344. package/dist/taro-components/p-7e692c70.entry.js +1 -0
  345. package/dist/taro-components/{p-baea6a63.entry.js → p-7ebd4310.entry.js} +1 -1
  346. package/dist/taro-components/p-7fdbcf4d.entry.js +1 -0
  347. package/dist/taro-components/{p-11c0dc59.system.entry.js → p-8179438b.system.entry.js} +1 -1
  348. package/dist/taro-components/{p-3d423adc.entry.js → p-84998109.entry.js} +1 -1
  349. package/dist/taro-components/{p-3a3d40de.system.entry.js → p-855619b6.system.entry.js} +1 -1
  350. package/dist/taro-components/{p-e2a22cd1.entry.js → p-8b0c9d3f.entry.js} +1 -1
  351. package/dist/taro-components/{p-d12b6a84.system.entry.js → p-91ee1f8a.system.entry.js} +1 -1
  352. package/dist/taro-components/{p-8a6e93ed.entry.js → p-937a6c36.entry.js} +1 -1
  353. package/dist/taro-components/{p-90ee19f8.system.entry.js → p-938f9036.system.entry.js} +1 -1
  354. package/dist/taro-components/{p-4fcb258a.entry.js → p-93a2b2e9.entry.js} +1 -1
  355. package/dist/taro-components/p-93b02321.entry.js +1 -0
  356. package/dist/taro-components/p-9571836f.entry.js +1 -0
  357. package/dist/taro-components/{p-923aa1c8.system.entry.js → p-97b09fb4.system.entry.js} +1 -1
  358. package/dist/taro-components/{p-34ba9330.system.entry.js → p-9b6b17c4.system.entry.js} +1 -1
  359. package/dist/taro-components/{p-37bc198d.entry.js → p-9c8bb0e6.entry.js} +1 -1
  360. package/dist/taro-components/{p-36ea0ac1.system.entry.js → p-9e359fff.system.entry.js} +1 -1
  361. package/dist/taro-components/{p-b3419d7f.system.entry.js → p-9f53e26c.system.entry.js} +1 -1
  362. package/dist/taro-components/{p-cee51d71.system.entry.js → p-a25aca16.system.entry.js} +1 -1
  363. package/dist/taro-components/{p-d184903b.entry.js → p-a50c6736.entry.js} +1 -1
  364. package/dist/taro-components/{p-1087c51a.system.entry.js → p-a96f8f60.system.entry.js} +1 -1
  365. package/dist/taro-components/{p-4b5f75b9.system.entry.js → p-a9ca8247.system.entry.js} +1 -1
  366. package/dist/taro-components/p-aabac550.entry.js +1 -0
  367. package/dist/taro-components/{p-48a84765.entry.js → p-ac2be5f3.entry.js} +1 -1
  368. package/dist/taro-components/{p-b0f12e64.system.entry.js → p-ac714300.system.entry.js} +1 -1
  369. package/dist/taro-components/{p-b66dfc82.system.entry.js → p-ac9fb309.system.entry.js} +1 -1
  370. package/dist/taro-components/p-acb113bd.entry.js +1 -0
  371. package/dist/taro-components/{p-6ffc9bda.system.entry.js → p-b087ad2a.system.entry.js} +1 -1
  372. package/dist/taro-components/{p-317c4cad.entry.js → p-b1f80b6b.entry.js} +1 -1
  373. package/dist/taro-components/{p-99440bcc.system.entry.js → p-b4577a12.system.entry.js} +1 -1
  374. package/dist/taro-components/{p-fe8ee676.entry.js → p-b4c7bb48.entry.js} +1 -1
  375. package/dist/taro-components/{p-ec00e517.entry.js → p-ba11ef7d.entry.js} +1 -1
  376. package/dist/taro-components/{p-97177863.system.entry.js → p-ba5e7ec4.system.entry.js} +1 -1
  377. package/dist/taro-components/{p-49e9b2ff.entry.js → p-bb67318d.entry.js} +1 -1
  378. package/dist/taro-components/{p-92b7b545.entry.js → p-bd57edcd.entry.js} +1 -1
  379. package/dist/taro-components/{p-5b4de079.entry.js → p-be055537.entry.js} +1 -1
  380. package/dist/taro-components/{p-c0f16127.entry.js → p-be1701b2.entry.js} +1 -1
  381. package/dist/taro-components/{p-ba241824.system.entry.js → p-c056d527.system.entry.js} +1 -1
  382. package/dist/taro-components/{p-3a0a05fd.system.entry.js → p-c0c567e5.system.entry.js} +1 -1
  383. package/dist/taro-components/{p-f662c928.entry.js → p-c3dc7072.entry.js} +1 -1
  384. package/dist/taro-components/{p-6f1034a6.system.entry.js → p-c677414d.system.entry.js} +1 -1
  385. package/dist/taro-components/{p-fa9dbb6f.system.entry.js → p-c71d5745.system.entry.js} +1 -1
  386. package/dist/taro-components/{p-50b21f94.entry.js → p-c7836e2b.entry.js} +1 -1
  387. package/dist/taro-components/{p-55e54f2a.system.entry.js → p-c7d8c076.system.entry.js} +1 -1
  388. package/dist/taro-components/{p-8bde1f48.entry.js → p-c8cd6e16.entry.js} +1 -1
  389. package/dist/taro-components/{p-2d382d0e.entry.js → p-c95d2b90.entry.js} +1 -1
  390. package/dist/taro-components/{p-c863ac7f.system.entry.js → p-ca6a5916.system.entry.js} +1 -1
  391. package/dist/taro-components/{p-5c0f97d3.system.entry.js → p-cae6c5d0.system.entry.js} +1 -1
  392. package/dist/taro-components/{p-80fa706c.system.entry.js → p-cafbb3d9.system.entry.js} +1 -1
  393. package/dist/taro-components/{p-5f4c6ca5.entry.js → p-ccbaba23.entry.js} +1 -1
  394. package/dist/taro-components/{p-69e70cd5.system.entry.js → p-d05eb105.system.entry.js} +1 -1
  395. package/dist/taro-components/{p-19b993d8.system.entry.js → p-d2203687.system.entry.js} +1 -1
  396. package/dist/taro-components/{p-5dbabb65.entry.js → p-d5603857.entry.js} +1 -1
  397. package/dist/taro-components/{p-82d52f00.system.entry.js → p-d73b3a94.system.entry.js} +1 -1
  398. package/dist/taro-components/p-d87a68f6.entry.js +1 -0
  399. package/dist/taro-components/{p-7e3f0837.entry.js → p-d973d536.entry.js} +1 -1
  400. package/dist/taro-components/{p-b3129dec.entry.js → p-d9884371.entry.js} +1 -1
  401. package/dist/taro-components/{p-82c5b9d3.entry.js → p-dc08715a.entry.js} +1 -1
  402. package/dist/taro-components/{p-13bf0192.entry.js → p-dc25fa81.entry.js} +1 -1
  403. package/dist/taro-components/{p-5186ab96.system.entry.js → p-dcf5747c.system.entry.js} +1 -1
  404. package/dist/taro-components/{p-de1d495a.system.entry.js → p-ddf75d6a.system.entry.js} +1 -1
  405. package/dist/taro-components/{p-562eace8.system.entry.js → p-ded98693.system.entry.js} +1 -1
  406. package/dist/taro-components/{p-4ffae31c.entry.js → p-dedf50a9.entry.js} +1 -1
  407. package/dist/taro-components/{p-ee9d6467.system.entry.js → p-df7c6216.system.entry.js} +1 -1
  408. package/dist/taro-components/{p-b4707cdd.entry.js → p-e1cce2f1.entry.js} +1 -1
  409. package/dist/taro-components/{p-895982a4.entry.js → p-e2e7bc16.entry.js} +1 -1
  410. package/dist/taro-components/p-e3d825d1.system.entry.js +1 -0
  411. package/dist/taro-components/{p-111fadd7.system.entry.js → p-e5ef41f2.system.entry.js} +1 -1
  412. package/dist/taro-components/{p-6f3187bc.entry.js → p-e681d764.entry.js} +1 -1
  413. package/dist/taro-components/{p-b259a558.system.entry.js → p-e853a2c8.system.entry.js} +1 -1
  414. package/dist/taro-components/{p-e5a80896.system.entry.js → p-ebad862a.system.entry.js} +1 -1
  415. package/dist/taro-components/{p-b43fa9b0.entry.js → p-ebb1ae64.entry.js} +1 -1
  416. package/dist/taro-components/{p-a2f848cc.entry.js → p-f034a433.entry.js} +1 -1
  417. package/dist/taro-components/{p-c253be9f.entry.js → p-f12feb2a.entry.js} +1 -1
  418. package/dist/taro-components/{p-39b3e34d.entry.js → p-f168fffc.entry.js} +1 -1
  419. package/dist/taro-components/p-f367a754.entry.js +1 -0
  420. package/dist/taro-components/{p-0132e803.entry.js → p-f43f26cf.entry.js} +1 -1
  421. package/dist/taro-components/{p-15c1ce79.entry.js → p-f5f3a111.entry.js} +1 -1
  422. package/dist/taro-components/{p-13e80cf7.entry.js → p-f8f2461f.entry.js} +1 -1
  423. package/dist/taro-components/p-f9935901.system.entry.js +1 -0
  424. package/dist/taro-components/{p-019124ae.system.entry.js → p-fa31b2de.system.entry.js} +1 -1
  425. package/dist/taro-components/p-fab63183.entry.js +1 -0
  426. package/dist/taro-components/{p-93b39a89.system.entry.js → p-fbf13159.system.entry.js} +1 -1
  427. package/dist/taro-components/{p-f7198b67.system.entry.js → p-fe5eefdc.system.entry.js} +1 -1
  428. package/dist/taro-components/{p-adee7f1b.system.entry.js → p-feb89474.system.entry.js} +1 -1
  429. package/dist/taro-components/{p-76c0f443.entry.js → p-ff772345.entry.js} +1 -1
  430. package/dist/taro-components/taro-components.esm.js +1 -1
  431. package/dist/taro-components/taro-components.js +1 -1
  432. package/dist/types/components/map/map.d.ts +145 -2
  433. package/dist/types/components.d.ts +214 -1
  434. package/lib/react/component-lib/index.d.ts +53 -53
  435. package/lib/react/component-lib/input.d.ts +1 -1
  436. package/lib/react/component-lib/input.js.map +1 -1
  437. package/lib/react/component-lib/reactify-wc.d.ts +1 -1
  438. package/lib/react/component-lib/reactify-wc.js.map +1 -1
  439. package/lib/react/components.d.ts +92 -92
  440. package/lib/react/components.js +2 -0
  441. package/lib/react/components.js.map +1 -1
  442. package/lib/react/helper.d.ts +4 -2
  443. package/lib/react/helper.js.map +1 -1
  444. package/lib/react/index.d.ts +1 -1
  445. package/lib/react/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.2_typescript@5.4.5/node_modules/tslib/tslib.es6.js +373 -0
  446. package/lib/react/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.2_typescript@5.4.5/node_modules/tslib/tslib.es6.js.map +1 -0
  447. package/lib/react/react-component-lib/createComponent.d.ts +3 -3
  448. package/lib/react/react-component-lib/createComponent.js +1 -1
  449. package/lib/react/react-component-lib/createComponent.js.map +1 -1
  450. package/lib/react/react-component-lib/createOverlayComponent.d.ts +5 -5
  451. package/lib/react/react-component-lib/createOverlayComponent.js +1 -1
  452. package/lib/react/react-component-lib/createOverlayComponent.js.map +1 -1
  453. package/lib/react/react-component-lib/index.d.ts +2 -2
  454. package/lib/react/{interfaces-f526f1a2.d.ts → react-component-lib/interfaces.d.ts} +4 -5
  455. package/lib/react/react-component-lib/utils/attachProps.d.ts +6 -6
  456. package/lib/react/react-component-lib/utils/attachProps.js +2 -2
  457. package/lib/react/react-component-lib/utils/attachProps.js.map +1 -1
  458. package/lib/react/react-component-lib/utils/case.d.ts +2 -3
  459. package/lib/react/react-component-lib/utils/dev.d.ts +6 -0
  460. package/lib/react/react-component-lib/utils/index.d.ts +9 -10
  461. package/lib/react/react-component-lib/utils/index.js.map +1 -1
  462. package/lib/solid/component-lib/index.d.ts +53 -0
  463. package/lib/solid/component-lib/index.js +69 -0
  464. package/lib/solid/component-lib/index.js.map +1 -0
  465. package/lib/solid/components.d.ts +92 -0
  466. package/lib/solid/components.js +102 -0
  467. package/lib/solid/components.js.map +1 -0
  468. package/lib/solid/helper.d.ts +3 -0
  469. package/lib/solid/helper.js +7 -0
  470. package/lib/solid/helper.js.map +1 -0
  471. package/lib/solid/index.d.ts +1 -0
  472. package/lib/solid/solid-component-lib/createComponent.d.ts +10 -0
  473. package/lib/solid/solid-component-lib/createComponent.js +67 -0
  474. package/lib/solid/solid-component-lib/createComponent.js.map +1 -0
  475. package/lib/solid/solid-component-lib/index.d.ts +1 -0
  476. package/lib/solid/solid-component-lib/index.js +2 -0
  477. package/lib/solid/solid-component-lib/index.js.map +1 -0
  478. package/lib/solid/solid-component-lib/interfaces.d.ts +33 -0
  479. package/lib/solid/solid-component-lib/utils/case.d.ts +3 -0
  480. package/lib/solid/solid-component-lib/utils/case.js +6 -0
  481. package/lib/solid/solid-component-lib/utils/case.js.map +1 -0
  482. package/lib/solid/solid-component-lib/utils/element.d.ts +6 -0
  483. package/lib/solid/solid-component-lib/utils/element.js +48 -0
  484. package/lib/solid/solid-component-lib/utils/element.js.map +1 -0
  485. package/lib/solid/solid-component-lib/utils/index.d.ts +2 -0
  486. package/lib/solid/solid-component-lib/utils/index.js +3 -0
  487. package/lib/solid/solid-component-lib/utils/index.js.map +1 -0
  488. package/lib/vue3/component-lib/createComponent.d.ts +1 -2
  489. package/lib/vue3/component-lib/createFormsComponent.d.ts +1 -2
  490. package/lib/vue3/component-lib/createFormsComponent.js.map +1 -1
  491. package/lib/vue3/component-lib/forwardRef.d.ts +1 -2
  492. package/lib/vue3/component-lib/icon.d.ts +1 -1
  493. package/lib/vue3/component-lib/image.d.ts +1 -1
  494. package/lib/vue3/component-lib/index.d.ts +52 -53
  495. package/lib/vue3/component-lib/scroll-view.d.ts +1 -1
  496. package/lib/vue3/component-lib/scroll-view.js.map +1 -1
  497. package/lib/vue3/component-lib/text.d.ts +1 -1
  498. package/lib/vue3/components-loader.d.ts +1 -2
  499. package/lib/vue3/components-loader.js.map +1 -1
  500. package/lib/vue3/components.d.ts +91 -92
  501. package/lib/vue3/components.js +31 -1
  502. package/lib/vue3/components.js.map +1 -1
  503. package/lib/vue3/index.d.ts +1 -1
  504. package/lib/vue3/vue-component-lib/utils.d.ts +2 -3
  505. package/lib/vue3/vue-component-lib/utils.js.map +1 -1
  506. package/package.json +23 -15
  507. package/types/GridBuilder.d.ts +1 -1
  508. package/types/ListBuilder.d.ts +1 -1
  509. package/types/NestedScrollBody.d.ts +1 -1
  510. package/types/NestedScrollHeader.d.ts +1 -1
  511. package/types/OpenContainer.d.ts +3 -3
  512. package/dist/esm-es5/index-c3e4004b.js +0 -7
  513. package/dist/taro-components/p-25636983.entry.js +0 -1
  514. package/dist/taro-components/p-2ec68968.system.js +0 -7
  515. package/dist/taro-components/p-378b504c.entry.js +0 -1
  516. package/dist/taro-components/p-477f8fbd.system.js +0 -1
  517. package/dist/taro-components/p-4c30ea10.entry.js +0 -1
  518. package/dist/taro-components/p-518a9b73.entry.js +0 -1
  519. package/dist/taro-components/p-52ad5213.system.entry.js +0 -1
  520. package/dist/taro-components/p-6dd357b9.entry.js +0 -1
  521. package/dist/taro-components/p-751d42cb.entry.js +0 -1
  522. package/dist/taro-components/p-9f1b0ae1.entry.js +0 -1
  523. package/dist/taro-components/p-a0f42e7f.entry.js +0 -1
  524. package/dist/taro-components/p-d1a095bd.system.entry.js +0 -1
  525. package/dist/taro-components/p-d6bd1a5b.entry.js +0 -1
  526. package/dist/taro-components/p-de951a46.js +0 -7
  527. package/dist/taro-components/p-ed081b3d.entry.js +0 -1
  528. package/dist/taro-components/p-f9a13a5c.entry.js +0 -1
  529. package/lib/vue2/component-lib/components.d.ts +0 -111
  530. package/lib/vue2/component-lib/components.js +0 -74
  531. package/lib/vue2/component-lib/components.js.map +0 -1
  532. package/lib/vue2/component-lib/createComponent.d.ts +0 -14
  533. package/lib/vue2/component-lib/createComponent.js +0 -23
  534. package/lib/vue2/component-lib/createComponent.js.map +0 -1
  535. package/lib/vue2/component-lib/createFormsComponent.d.ts +0 -22
  536. package/lib/vue2/component-lib/createFormsComponent.js +0 -53
  537. package/lib/vue2/component-lib/createFormsComponent.js.map +0 -1
  538. package/lib/vue2/component-lib/icon.d.ts +0 -16
  539. package/lib/vue2/component-lib/icon.js +0 -23
  540. package/lib/vue2/component-lib/icon.js.map +0 -1
  541. package/lib/vue2/component-lib/image.d.ts +0 -16
  542. package/lib/vue2/component-lib/image.js +0 -24
  543. package/lib/vue2/component-lib/image.js.map +0 -1
  544. package/lib/vue2/component-lib/index.d.ts +0 -1
  545. package/lib/vue2/component-lib/index.js +0 -25
  546. package/lib/vue2/component-lib/index.js.map +0 -1
  547. package/lib/vue2/component-lib/mixins/listeners.d.ts +0 -6
  548. package/lib/vue2/component-lib/mixins/listeners.js +0 -14
  549. package/lib/vue2/component-lib/mixins/listeners.js.map +0 -1
  550. package/lib/vue2/component-lib/mixins/refs.d.ts +0 -5
  551. package/lib/vue2/component-lib/mixins/refs.js +0 -53
  552. package/lib/vue2/component-lib/mixins/refs.js.map +0 -1
  553. package/lib/vue2/component-lib/picker.d.ts +0 -25
  554. package/lib/vue2/component-lib/picker.js +0 -41
  555. package/lib/vue2/component-lib/picker.js.map +0 -1
  556. package/lib/vue2/component-lib/scroll-view.d.ts +0 -17
  557. package/lib/vue2/component-lib/scroll-view.js +0 -35
  558. package/lib/vue2/component-lib/scroll-view.js.map +0 -1
  559. package/lib/vue2/component-lib/text.d.ts +0 -16
  560. package/lib/vue2/component-lib/text.js +0 -24
  561. package/lib/vue2/component-lib/text.js.map +0 -1
  562. package/lib/vue2/components-loader.d.ts +0 -2
  563. package/lib/vue2/components-loader.js +0 -21
  564. package/lib/vue2/components-loader.js.map +0 -1
  565. package/lib/vue2/components.d.ts +0 -381
  566. package/lib/vue2/components.js +0 -605
  567. package/lib/vue2/components.js.map +0 -1
  568. package/lib/vue2/index.d.ts +0 -1
  569. package/lib/vue2/node_modules/.pnpm/registry.npmjs.org_vue-fragment@1.6.0_vue@2.7.14/node_modules/vue-fragment/dist/vue-fragment.esm.js +0 -4
  570. package/lib/vue2/node_modules/.pnpm/registry.npmjs.org_vue-fragment@1.6.0_vue@2.7.14/node_modules/vue-fragment/dist/vue-fragment.esm.js.map +0 -1
  571. package/lib/vue2/vue-component-lib/utils.d.ts +0 -10
  572. package/lib/vue2/vue-component-lib/utils.js +0 -51
  573. package/lib/vue2/vue-component-lib/utils.js.map +0 -1
  574. /package/dist/cjs/{index-5b029707.js → index-09efe07d.js} +0 -0
  575. /package/dist/esm/{index-ab3c86da.js → index-9924aee9.js} +0 -0
  576. /package/dist/esm-es5/{index-ab3c86da.js → index-9924aee9.js} +0 -0
  577. /package/dist/taro-components/{p-2b70c348.system.js → p-75d01c60.system.js} +0 -0
  578. /package/dist/taro-components/{p-dd7a128d.js → p-e62a1287.js} +0 -0
  579. /package/lib/{vue2 → solid}/index.js +0 -0
  580. /package/lib/{vue2 → solid}/index.js.map +0 -0
@@ -2,20 +2,1339 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-5b029707.js');
6
- const helper = require('./helper-ad6306f6.js');
7
- require('@tarojs/taro');
5
+ const index = require('./index-09efe07d.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;