@vortex-ui/env-puzzle 2.0.0-beta.2 → 2.0.0-beta.3

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 (230) hide show
  1. package/lib/b-map/b-map.d.ts +63 -0
  2. package/lib/b-map/b-map.js +296 -0
  3. package/lib/b-map/b-map.js.map +1 -0
  4. package/lib/b-map/custom-overlay.d.ts +13 -0
  5. package/lib/b-map/custom-overlay.js +84 -0
  6. package/lib/b-map/custom-overlay.js.map +1 -0
  7. package/lib/b-map/drawing.d.ts +14 -0
  8. package/lib/b-map/drawing.js +73 -0
  9. package/lib/b-map/drawing.js.map +1 -0
  10. package/lib/b-map/index.d.ts +17 -0
  11. package/lib/b-map/index.js +35 -0
  12. package/lib/b-map/index.js.map +1 -0
  13. package/lib/b-map/js/marker-clusterer.js +158 -42
  14. package/lib/b-map/js/marker-clusterer.js.map +1 -1
  15. package/lib/b-map/lushu.d.ts +16 -0
  16. package/lib/b-map/lushu.js +78 -0
  17. package/lib/b-map/lushu.js.map +1 -0
  18. package/lib/b-map/marker-clusterer.d.ts +29 -0
  19. package/lib/b-map/marker-clusterer.js +52 -0
  20. package/lib/b-map/marker-clusterer.js.map +1 -0
  21. package/lib/b-map/marker.d.ts +45 -0
  22. package/lib/b-map/marker.js +184 -0
  23. package/lib/b-map/marker.js.map +1 -0
  24. package/lib/b-map/polygon.d.ts +54 -0
  25. package/lib/b-map/polygon.js +44 -0
  26. package/lib/b-map/polygon.js.map +1 -0
  27. package/lib/b-map/style/css.js +4 -0
  28. package/lib/b-map/style/css.js.map +1 -0
  29. package/lib/b-map/style/index.d.ts +1 -0
  30. package/lib/b-map/style/index.js +4 -0
  31. package/lib/b-map/style/index.js.map +1 -0
  32. package/lib/create-modal/create-modal.d.ts +31 -0
  33. package/lib/create-modal/create-modal.js +653 -0
  34. package/lib/create-modal/create-modal.js.map +1 -0
  35. package/lib/create-modal/index.d.ts +3 -0
  36. package/lib/create-modal/index.js +14 -0
  37. package/lib/create-modal/index.js.map +1 -0
  38. package/lib/create-modal/style/css.js +22 -0
  39. package/lib/create-modal/style/css.js.map +1 -0
  40. package/lib/create-modal/style/index.d.ts +10 -0
  41. package/lib/create-modal/style/index.js +22 -0
  42. package/lib/create-modal/style/index.js.map +1 -0
  43. package/lib/import-modal/import-modal.d.ts +23 -0
  44. package/lib/import-modal/import-modal.js +358 -0
  45. package/lib/import-modal/import-modal.js.map +1 -0
  46. package/lib/import-modal/index.d.ts +2 -0
  47. package/lib/import-modal/index.js +14 -0
  48. package/lib/import-modal/index.js.map +1 -0
  49. package/lib/import-modal/style/css.js +14 -0
  50. package/lib/import-modal/style/css.js.map +1 -0
  51. package/lib/import-modal/style/index.d.ts +6 -0
  52. package/lib/import-modal/style/index.js +14 -0
  53. package/lib/import-modal/style/index.js.map +1 -0
  54. package/lib/index.d.ts +13 -0
  55. package/lib/index.js +104 -0
  56. package/lib/index.js.map +1 -0
  57. package/lib/interface/index.d.ts +7 -0
  58. package/lib/interface/index.js +6 -0
  59. package/lib/interface/index.js.map +1 -0
  60. package/lib/mapv-Layer/Function.d.ts +1 -0
  61. package/lib/mapv-Layer/Function.js +2 -0
  62. package/lib/mapv-Layer/Function.js.map +1 -1
  63. package/lib/mapv-Layer/index.d.ts +2 -0
  64. package/lib/mapv-Layer/index.js +14 -0
  65. package/lib/mapv-Layer/index.js.map +1 -0
  66. package/lib/mapv-Layer/mapv-Layer.d.ts +7 -0
  67. package/lib/mapv-Layer/mapv-Layer.js +117 -0
  68. package/lib/mapv-Layer/mapv-Layer.js.map +1 -0
  69. package/lib/mapv-Layer/style/css.js +2 -0
  70. package/lib/mapv-Layer/style/css.js.map +1 -0
  71. package/lib/mapv-Layer/style/index.d.ts +1 -0
  72. package/lib/mapv-Layer/style/index.js +2 -0
  73. package/lib/mapv-Layer/style/index.js.map +1 -0
  74. package/lib/percent/images/icon-arrow.png +0 -0
  75. package/lib/percent/index.d.ts +8 -0
  76. package/lib/percent/index.js +18 -0
  77. package/lib/percent/index.js.map +1 -0
  78. package/lib/percent/interface.d.ts +6 -0
  79. package/lib/percent/interface.js +6 -0
  80. package/lib/percent/interface.js.map +1 -0
  81. package/lib/percent/line-percent.d.ts +11 -0
  82. package/lib/percent/line-percent.js +114 -0
  83. package/lib/percent/line-percent.js.map +1 -0
  84. package/lib/percent/percent.d.ts +10 -0
  85. package/lib/percent/percent.js +139 -0
  86. package/lib/percent/percent.js.map +1 -0
  87. package/lib/percent/style/css.js +4 -0
  88. package/lib/percent/style/css.js.map +1 -0
  89. package/lib/percent/style/index.d.ts +1 -0
  90. package/lib/percent/style/index.js +4 -0
  91. package/lib/percent/style/index.js.map +1 -0
  92. package/lib/scroll/index.d.ts +2 -0
  93. package/lib/scroll/index.js +14 -0
  94. package/lib/scroll/index.js.map +1 -0
  95. package/lib/scroll/scroll.d.ts +4 -0
  96. package/lib/scroll/scroll.js +105 -0
  97. package/lib/scroll/scroll.js.map +1 -0
  98. package/lib/scroll/style/css.js +4 -0
  99. package/lib/scroll/style/css.js.map +1 -0
  100. package/lib/scroll/style/index.d.ts +1 -0
  101. package/lib/scroll/style/index.js +4 -0
  102. package/lib/scroll/style/index.js.map +1 -0
  103. package/lib/scroll-select/index.d.ts +2 -0
  104. package/lib/scroll-select/index.js +14 -0
  105. package/lib/scroll-select/index.js.map +1 -0
  106. package/lib/scroll-select/scrollSelect.d.ts +2 -0
  107. package/lib/scroll-select/scrollSelect.js +323 -0
  108. package/lib/scroll-select/scrollSelect.js.map +1 -0
  109. package/lib/scroll-select/style/css.js +6 -0
  110. package/lib/scroll-select/style/css.js.map +1 -0
  111. package/lib/scroll-select/style/index.d.ts +2 -0
  112. package/lib/scroll-select/style/index.js +6 -0
  113. package/lib/scroll-select/style/index.js.map +1 -0
  114. package/lib/table/index.d.ts +2 -0
  115. package/lib/table/index.js +14 -0
  116. package/lib/table/index.js.map +1 -0
  117. package/lib/table/style/css.js +6 -0
  118. package/lib/table/style/css.js.map +1 -0
  119. package/lib/table/style/index.d.ts +2 -0
  120. package/lib/table/style/index.js +6 -0
  121. package/lib/table/style/index.js.map +1 -0
  122. package/lib/table/table.d.ts +17 -0
  123. package/lib/table/table.js +162 -0
  124. package/lib/table/table.js.map +1 -0
  125. package/lib/template/action.d.ts +57 -0
  126. package/lib/template/action.js +265 -0
  127. package/lib/template/action.js.map +1 -0
  128. package/lib/template/card-table.d.ts +35 -0
  129. package/lib/template/card-table.js +193 -0
  130. package/lib/template/card-table.js.map +1 -0
  131. package/lib/template/card.d.ts +15 -0
  132. package/lib/template/card.js +116 -0
  133. package/lib/template/card.js.map +1 -0
  134. package/lib/template/check-row.d.ts +6 -0
  135. package/lib/template/check-row.js +39 -0
  136. package/lib/template/check-row.js.map +1 -0
  137. package/lib/template/field.d.ts +6 -0
  138. package/lib/template/field.js +50 -0
  139. package/lib/template/field.js.map +1 -0
  140. package/lib/template/filter.d.ts +13 -0
  141. package/lib/template/filter.js +146 -0
  142. package/lib/template/filter.js.map +1 -0
  143. package/lib/template/icon.d.ts +6 -0
  144. package/lib/template/icon.js +33 -0
  145. package/lib/template/icon.js.map +1 -0
  146. package/lib/template/index.d.ts +13 -0
  147. package/lib/template/index.js +24 -0
  148. package/lib/template/index.js.map +1 -0
  149. package/lib/template/interface.d.ts +4 -0
  150. package/lib/template/interface.js +6 -0
  151. package/lib/template/interface.js.map +1 -0
  152. package/lib/template/renderColumnButtons.d.ts +2 -0
  153. package/lib/template/renderColumnButtons.js +173 -0
  154. package/lib/template/renderColumnButtons.js.map +1 -0
  155. package/lib/template/style/css.js +40 -0
  156. package/lib/template/style/css.js.map +1 -0
  157. package/lib/template/style/index.d.ts +19 -0
  158. package/lib/template/style/index.js +40 -0
  159. package/lib/template/style/index.js.map +1 -0
  160. package/lib/template/table.d.ts +44 -0
  161. package/lib/template/table.js +103 -0
  162. package/lib/template/table.js.map +1 -0
  163. package/lib/template/template.d.ts +84 -0
  164. package/lib/template/template.js +610 -0
  165. package/lib/template/template.js.map +1 -0
  166. package/lib/template/toolbar.d.ts +16 -0
  167. package/lib/template/toolbar.js +102 -0
  168. package/lib/template/toolbar.js.map +1 -0
  169. package/lib/to-map/container.d.ts +28 -0
  170. package/lib/to-map/container.js +295 -0
  171. package/lib/to-map/container.js.map +1 -0
  172. package/lib/to-map/draw-area.d.ts +6 -0
  173. package/lib/to-map/draw-area.js +66 -0
  174. package/lib/to-map/draw-area.js.map +1 -0
  175. package/lib/to-map/images/icon-area.png +0 -0
  176. package/lib/to-map/images/icon-picker.png +0 -0
  177. package/lib/to-map/index.d.ts +8 -0
  178. package/lib/to-map/index.js +18 -0
  179. package/lib/to-map/index.js.map +1 -0
  180. package/lib/to-map/style/css.js +6 -0
  181. package/lib/to-map/style/css.js.map +1 -0
  182. package/lib/to-map/style/index.d.ts +2 -0
  183. package/lib/to-map/style/index.js +6 -0
  184. package/lib/to-map/style/index.js.map +1 -0
  185. package/lib/to-map/to-map.d.ts +12 -0
  186. package/lib/to-map/to-map.js +120 -0
  187. package/lib/to-map/to-map.js.map +1 -0
  188. package/lib/upload/index.d.ts +2 -0
  189. package/lib/upload/index.js +14 -0
  190. package/lib/upload/index.js.map +1 -0
  191. package/lib/upload/style/css.js +10 -0
  192. package/lib/upload/style/css.js.map +1 -0
  193. package/lib/upload/style/index.d.ts +4 -0
  194. package/lib/upload/style/index.js +10 -0
  195. package/lib/upload/style/index.js.map +1 -0
  196. package/lib/upload/upload.d.ts +12 -0
  197. package/lib/upload/upload.js +445 -0
  198. package/lib/upload/upload.js.map +1 -0
  199. package/lib/use-simple-res/demos/index.d.ts +2 -0
  200. package/lib/use-simple-res/demos/index.js +116 -0
  201. package/lib/use-simple-res/demos/index.js.map +1 -0
  202. package/lib/use-simple-res/index.d.ts +28 -0
  203. package/lib/use-simple-res/index.js +99 -0
  204. package/lib/use-simple-res/index.js.map +1 -0
  205. package/lib/use-simple-res/style/css.js +4 -0
  206. package/lib/use-simple-res/style/css.js.map +1 -0
  207. package/lib/use-simple-res/style/index.d.ts +1 -0
  208. package/lib/use-simple-res/style/index.js +4 -0
  209. package/lib/use-simple-res/style/index.js.map +1 -0
  210. package/lib/utils/dom-util.d.ts +19 -0
  211. package/lib/utils/dom-util.js +98 -0
  212. package/lib/utils/dom-util.js.map +1 -0
  213. package/lib/utils/request-util.d.ts +42 -0
  214. package/lib/utils/request-util.js +191 -0
  215. package/lib/utils/request-util.js.map +1 -0
  216. package/lib/utils/string-util.d.ts +11 -0
  217. package/lib/utils/string-util.js +47 -0
  218. package/lib/utils/string-util.js.map +1 -0
  219. package/lib/view-modal/index.d.ts +2 -0
  220. package/lib/view-modal/index.js +14 -0
  221. package/lib/view-modal/index.js.map +1 -0
  222. package/lib/view-modal/style/css.js +16 -0
  223. package/lib/view-modal/style/css.js.map +1 -0
  224. package/lib/view-modal/style/index.d.ts +8 -0
  225. package/lib/view-modal/style/index.js +16 -0
  226. package/lib/view-modal/style/index.js.map +1 -0
  227. package/lib/view-modal/view-modal.d.ts +8 -0
  228. package/lib/view-modal/view-modal.js +208 -0
  229. package/lib/view-modal/view-modal.js.map +1 -0
  230. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"marker-clusterer.js","names":["BMapLib","window","getExtendedBounds","map","bounds","gridSize","cutBoundsInRange","pixelNE","pointToPixel","getNorthEast","pixelSW","getSouthWest","x","y","newNE","pixelToPoint","newSW","BMap","Bounds","maxX","getRange","lng","minX","maxY","lat","minY","Point","i","mix","max","Math","min","isArray","source","Object","prototype","toString","call","indexOf","item","index","m","MarkerClusterer","options","_map","_markers","_clusters","opts","_gridSize","_maxZoom","_minClusterSize","_isAverageCenter","undefined","_styles","that","addEventListener","_redraw","mkrs","addMarkers","markers","len","length","_pushMarkerTo","_createClusters","marker","isInCluster","push","addMarker","mapBounds","getBounds","extendedBounds","containsPoint","getPosition","_addToClosestCluster","render","distance","clusterToAddTo","position","cluster","center","getCenter","d","getDistance","isMarkerInClusterBounds","Cluster","_clearLastClusters","remove","_removeMarkersFromCluster","_removeMarkersFromMap","tmplabel","getLabel","removeOverlay","setLabel","_removeMarker","splice","removeMarker","success","removeMarkers","r","clearMarkers","getGridSize","setGridSize","size","getMaxZoom","setMaxZoom","maxZoom","getStyles","setStyles","styles","getMinClusterSize","setMinClusterSize","isAverageCenter","getMap","getMarkers","getClustersCount","count","isReal","markerClusterer","_markerClusterer","_center","_gridBounds","_isReal","_clusterMarker","TextIconOverlay","isMarkerInCluster","updateGridBounds","l","addOverlay","updateClusterMarker","getZoom","hide","setPosition","setText","thatMap","thatBounds","event","setViewport","extend"],"sources":["b-map/js/marker-clusterer.js"],"sourcesContent":["/* eslint-disable*/\n/**\n * @fileoverview MarkerClusterer标记聚合器用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。\n * 主入口类是<a href=\"symbols/BMapLib.MarkerClusterer.html\">MarkerClusterer</a>,\n * 基于Baidu Map API 1.2。\n *\n * @author Baidu Map Api Group\n * @version 1.2\n */\n\n/**\n * @namespace BMap的所有library类均放在BMapLib命名空间下\n */\nvar BMapLib = (window.BMapLib = BMapLib || {});\n(function () {\n /**\n * 获取一个扩展的视图范围,把上下左右都扩大一样的像素值。\n * @param {Map} map BMap.Map的实例化对象\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\n * @param {Number} gridSize 要扩大的像素值\n *\n * @return {BMap.Bounds} 返回扩大后的视图范围。\n */\n var getExtendedBounds = function (map, bounds, gridSize) {\n bounds = cutBoundsInRange(bounds);\n var pixelNE = map.pointToPixel(bounds.getNorthEast());\n var pixelSW = map.pointToPixel(bounds.getSouthWest());\n pixelNE.x += gridSize;\n pixelNE.y -= gridSize;\n pixelSW.x -= gridSize;\n pixelSW.y += gridSize;\n var newNE = map.pixelToPoint(pixelNE);\n var newSW = map.pixelToPoint(pixelSW);\n return new BMap.Bounds(newSW, newNE);\n };\n\n /**\n * 按照百度地图支持的世界范围对bounds进行边界处理\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\n *\n * @return {BMap.Bounds} 返回不越界的视图范围\n */\n var cutBoundsInRange = function (bounds) {\n var maxX = getRange(bounds.getNorthEast().lng, -180, 180);\n var minX = getRange(bounds.getSouthWest().lng, -180, 180);\n var maxY = getRange(bounds.getNorthEast().lat, -74, 74);\n var minY = getRange(bounds.getSouthWest().lat, -74, 74);\n return new BMap.Bounds(\n new BMap.Point(minX, minY),\n new BMap.Point(maxX, maxY),\n );\n };\n\n /**\n * 对单个值进行边界处理。\n * @param {Number} i 要处理的数值\n * @param {Number} min 下边界值\n * @param {Number} max 上边界值\n *\n * @return {Number} 返回不越界的数值\n */\n var getRange = function (i, mix, max) {\n mix && (i = Math.max(i, mix));\n max && (i = Math.min(i, max));\n return i;\n };\n\n /**\n * 判断给定的对象是否为数组\n * @param {Object} source 要测试的对象\n *\n * @return {Boolean} 如果是数组返回true,否则返回false\n */\n var isArray = function (source) {\n return '[object Array]' === Object.prototype.toString.call(source);\n };\n\n /**\n * 返回item在source中的索引位置\n * @param {Object} item 要测试的对象\n * @param {Array} source 数组\n *\n * @return {Number} 如果在数组内,返回索引,否则返回-1\n */\n var indexOf = function (item, source) {\n var index = -1;\n if (isArray(source)) {\n if (source.indexOf) {\n index = source.indexOf(item);\n } else {\n for (var i = 0, m; (m = source[i]); i++) {\n if (m === item) {\n index = i;\n break;\n }\n }\n }\n }\n return index;\n };\n\n /**\n *@exports MarkerClusterer as BMapLib.MarkerClusterer\n */\n var MarkerClusterer =\n /**\n * MarkerClusterer\n * @class 用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能\n * @constructor\n * @param {Map} map 地图的一个实例。\n * @param {Json Object} options 可选参数,可选项包括:<br />\n * markers {Array<Marker>} 要聚合的标记数组<br />\n * girdSize {Number} 聚合计算时网格的像素大小,默认60<br />\n * maxZoom {Number} 最大的聚合级别,大于该级别就不进行相应的聚合<br />\n * minClusterSize {Number} 最小的聚合数量,小于该数量的不能成为一个聚合,默认为2<br />\n * isAverangeCenter {Boolean} 聚合点的落脚位置是否是所有聚合在内点的平均值,默认为否,落脚在聚合内的第一个点<br />\n * styles {Array<IconStyle>} 自定义聚合后的图标风格,请参考TextIconOverlay类<br />\n */\n (BMapLib.MarkerClusterer = function (map, options) {\n if (!map) {\n return;\n }\n this._map = map;\n this._markers = [];\n this._clusters = [];\n\n var opts = options || {};\n this._gridSize = opts['gridSize'] || 60;\n this._maxZoom = opts['maxZoom'] || 18;\n this._minClusterSize = opts['minClusterSize'] || 2;\n this._isAverageCenter = false;\n if (opts['isAverageCenter'] != undefined) {\n this._isAverageCenter = opts['isAverageCenter'];\n }\n this._styles = opts['styles'] || [];\n\n var that = this;\n this._map.addEventListener('zoomend', function () {\n that._redraw();\n });\n\n this._map.addEventListener('moveend', function () {\n that._redraw();\n });\n\n var mkrs = opts['markers'];\n isArray(mkrs) && this.addMarkers(mkrs);\n });\n\n /**\n * 添加要聚合的标记数组。\n * @param {Array<Marker>} markers 要聚合的标记数组\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype.addMarkers = function (markers) {\n for (var i = 0, len = markers.length; i < len; i++) {\n this._pushMarkerTo(markers[i]);\n }\n this._createClusters();\n };\n\n /**\n * 把一个标记添加到要聚合的标记数组中\n * @param {BMap.Marker} marker 要添加的标记\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype._pushMarkerTo = function (marker) {\n var index = indexOf(marker, this._markers);\n if (index === -1) {\n marker.isInCluster = false;\n this._markers.push(marker); //Marker拖放后enableDragging不做变化,忽略\n }\n };\n\n /**\n * 添加一个聚合的标记。\n * @param {BMap.Marker} marker 要聚合的单个标记。\n * @return 无返回值。\n */\n MarkerClusterer.prototype.addMarker = function (marker) {\n this._pushMarkerTo(marker);\n this._createClusters();\n };\n\n /**\n * 根据所给定的标记,创建聚合点,并且遍历所有聚合点\n * @return 无返回值\n */\n MarkerClusterer.prototype._createClusters = function () {\n var mapBounds = this._map.getBounds();\n var extendedBounds = getExtendedBounds(\n this._map,\n mapBounds,\n this._gridSize,\n );\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n if (\n !marker.isInCluster &&\n extendedBounds.containsPoint(marker.getPosition())\n ) {\n this._addToClosestCluster(marker);\n }\n }\n\n var len = this._markers.length;\n for (var i = 0; i < len; i++) {\n if (this._clusters[i]) {\n this._clusters[i].render();\n }\n }\n };\n\n /**\n * 根据标记的位置,把它添加到最近的聚合中\n * @param {BMap.Marker} marker 要进行聚合的单个标记\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype._addToClosestCluster = function (marker) {\n var distance = 4000000;\n var clusterToAddTo = null;\n var position = marker.getPosition();\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n var center = cluster.getCenter();\n if (center) {\n var d = this._map.getDistance(center, marker.getPosition());\n if (d < distance) {\n distance = d;\n clusterToAddTo = cluster;\n }\n }\n }\n\n if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {\n clusterToAddTo.addMarker(marker);\n } else {\n var cluster = new Cluster(this);\n cluster.addMarker(marker);\n this._clusters.push(cluster);\n }\n };\n\n /**\n * 清除上一次的聚合的结果\n * @return 无返回值。\n */\n MarkerClusterer.prototype._clearLastClusters = function () {\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n cluster.remove();\n }\n this._clusters = []; //置空Cluster数组\n this._removeMarkersFromCluster(); //把Marker的cluster标记设为false\n };\n\n /**\n * 清除某个聚合中的所有标记\n * @return 无返回值\n */\n MarkerClusterer.prototype._removeMarkersFromCluster = function () {\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n marker.isInCluster = false;\n }\n };\n\n /**\n * 把所有的标记从地图上清除\n * @return 无返回值\n */\n MarkerClusterer.prototype._removeMarkersFromMap = function () {\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n marker.isInCluster = false;\n tmplabel = marker.getLabel();\n this._map.removeOverlay(marker);\n marker.setLabel(tmplabel);\n }\n };\n\n /**\n * 删除单个标记\n * @param {BMap.Marker} marker 需要被删除的marker\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype._removeMarker = function (marker) {\n var index = indexOf(marker, this._markers);\n if (index === -1) {\n return false;\n }\n tmplabel = marker.getLabel();\n this._map.removeOverlay(marker);\n marker.setLabel(tmplabel);\n this._markers.splice(index, 1);\n return true;\n };\n\n /**\n * 删除单个标记\n * @param {BMap.Marker} marker 需要被删除的marker\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype.removeMarker = function (marker) {\n var success = this._removeMarker(marker);\n if (success) {\n this._clearLastClusters();\n this._createClusters();\n }\n return success;\n };\n\n /**\n * 删除一组标记\n * @param {Array<BMap.Marker>} markers 需要被删除的marker数组\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype.removeMarkers = function (markers) {\n var success = false;\n for (var i = 0; i < markers.length; i++) {\n var r = this._removeMarker(markers[i]);\n success = success || r;\n }\n\n if (success) {\n this._clearLastClusters();\n this._createClusters();\n }\n return success;\n };\n\n /**\n * 从地图上彻底清除所有的标记\n * @return 无返回值\n */\n MarkerClusterer.prototype.clearMarkers = function () {\n this._clearLastClusters();\n this._removeMarkersFromMap();\n this._markers = [];\n };\n\n /**\n * 重新生成,比如改变了属性等\n * @return 无返回值\n */\n MarkerClusterer.prototype._redraw = function () {\n this._clearLastClusters();\n this._createClusters();\n };\n\n /**\n * 获取网格大小\n * @return {Number} 网格大小\n */\n MarkerClusterer.prototype.getGridSize = function () {\n return this._gridSize;\n };\n\n /**\n * 设置网格大小\n * @param {Number} size 网格大小\n * @return 无返回值\n */\n MarkerClusterer.prototype.setGridSize = function (size) {\n this._gridSize = size;\n this._redraw();\n };\n\n /**\n * 获取聚合的最大缩放级别。\n * @return {Number} 聚合的最大缩放级别。\n */\n MarkerClusterer.prototype.getMaxZoom = function () {\n return this._maxZoom;\n };\n\n /**\n * 设置聚合的最大缩放级别\n * @param {Number} maxZoom 聚合的最大缩放级别\n * @return 无返回值\n */\n MarkerClusterer.prototype.setMaxZoom = function (maxZoom) {\n this._maxZoom = maxZoom;\n this._redraw();\n };\n\n /**\n * 获取聚合的样式风格集合\n * @return {Array<IconStyle>} 聚合的样式风格集合\n */\n MarkerClusterer.prototype.getStyles = function () {\n return this._styles;\n };\n\n /**\n * 设置聚合的样式风格集合\n * @param {Array<IconStyle>} styles 样式风格数组\n * @return 无返回值\n */\n MarkerClusterer.prototype.setStyles = function (styles) {\n this._styles = styles;\n this._redraw();\n };\n\n /**\n * 获取单个聚合的最小数量。\n * @return {Number} 单个聚合的最小数量。\n */\n MarkerClusterer.prototype.getMinClusterSize = function () {\n return this._minClusterSize;\n };\n\n /**\n * 设置单个聚合的最小数量。\n * @param {Number} size 单个聚合的最小数量。\n * @return 无返回值。\n */\n MarkerClusterer.prototype.setMinClusterSize = function (size) {\n this._minClusterSize = size;\n this._redraw();\n };\n\n /**\n * 获取单个聚合的落脚点是否是聚合内所有标记的平均中心。\n * @return {Boolean} true或false。\n */\n MarkerClusterer.prototype.isAverageCenter = function () {\n return this._isAverageCenter;\n };\n\n /**\n * 获取聚合的Map实例。\n * @return {Map} Map的示例。\n */\n MarkerClusterer.prototype.getMap = function () {\n return this._map;\n };\n\n /**\n * 获取所有的标记数组。\n * @return {Array<Marker>} 标记数组。\n */\n MarkerClusterer.prototype.getMarkers = function () {\n return this._markers;\n };\n\n /**\n * 获取聚合的总数量。\n * @return {Number} 聚合的总数量。\n */\n MarkerClusterer.prototype.getClustersCount = function () {\n var count = 0;\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n cluster.isReal() && count++;\n }\n return count;\n };\n\n /**\n * @ignore\n * Cluster\n * @class 表示一个聚合对象,该聚合,包含有N个标记,这N个标记组成的范围,并有予以显示在Map上的TextIconOverlay等。\n * @constructor\n * @param {MarkerClusterer} markerClusterer 一个标记聚合器示例。\n */\n function Cluster(markerClusterer) {\n this._markerClusterer = markerClusterer;\n this._map = markerClusterer.getMap();\n this._minClusterSize = markerClusterer.getMinClusterSize();\n this._isAverageCenter = markerClusterer.isAverageCenter();\n this._center = null; //落脚位置\n this._markers = []; //这个Cluster中所包含的markers\n this._gridBounds = null; //以中心点为准,向四边扩大gridSize个像素的范围,也即网格范围\n this._isReal = false; //真的是个聚合\n\n this._clusterMarker = new BMapLib.TextIconOverlay(\n this._center,\n this._markers.length,\n {\n styles: this._markerClusterer.getStyles(),\n },\n );\n //this._map.addOverlay(this._clusterMarker);\n }\n\n /**\n * 向该聚合添加一个标记。\n * @param {Marker} marker 要添加的标记。\n * @return 无返回值。\n */\n Cluster.prototype.addMarker = function (marker) {\n if (this.isMarkerInCluster(marker)) {\n return false;\n } //也可用marker.isInCluster判断,外面判断OK,这里基本不会命中\n\n if (!this._center) {\n this._center = marker.getPosition();\n this.updateGridBounds(); //\n } else {\n if (this._isAverageCenter) {\n var l = this._markers.length + 1;\n var lat =\n (this._center.lat * (l - 1) + marker.getPosition().lat) / l;\n var lng =\n (this._center.lng * (l - 1) + marker.getPosition().lng) / l;\n this._center = new BMap.Point(lng, lat);\n this.updateGridBounds();\n } //计算新的Center\n }\n\n marker.isInCluster = true;\n this._markers.push(marker);\n };\n\n /**\n * 进行dom操作\n * @return 无返回值\n */\n Cluster.prototype.render = function () {\n var len = this._markers.length;\n\n if (len < this._minClusterSize) {\n for (var i = 0; i < len; i++) {\n this._map.addOverlay(this._markers[i]);\n }\n } else {\n this._map.addOverlay(this._clusterMarker);\n this._isReal = true;\n this.updateClusterMarker();\n }\n };\n\n /**\n * 判断一个标记是否在该聚合中。\n * @param {Marker} marker 要判断的标记。\n * @return {Boolean} true或false。\n */\n Cluster.prototype.isMarkerInCluster = function (marker) {\n if (this._markers.indexOf) {\n return this._markers.indexOf(marker) != -1;\n } else {\n for (var i = 0, m; (m = this._markers[i]); i++) {\n if (m === marker) {\n return true;\n }\n }\n }\n return false;\n };\n\n /**\n * 判断一个标记是否在该聚合网格范围中。\n * @param {Marker} marker 要判断的标记。\n * @return {Boolean} true或false。\n */\n Cluster.prototype.isMarkerInClusterBounds = function (marker) {\n return this._gridBounds.containsPoint(marker.getPosition());\n };\n\n Cluster.prototype.isReal = function (marker) {\n return this._isReal;\n };\n\n /**\n * 更新该聚合的网格范围。\n * @return 无返回值。\n */\n Cluster.prototype.updateGridBounds = function () {\n var bounds = new BMap.Bounds(this._center, this._center);\n this._gridBounds = getExtendedBounds(\n this._map,\n bounds,\n this._markerClusterer.getGridSize(),\n );\n };\n\n /**\n * 更新该聚合的显示样式,也即TextIconOverlay。\n * @return 无返回值。\n */\n Cluster.prototype.updateClusterMarker = function () {\n if (this._map.getZoom() > this._markerClusterer.getMaxZoom()) {\n this._clusterMarker && this._map.removeOverlay(this._clusterMarker);\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n this._map.addOverlay(marker);\n }\n return;\n }\n\n if (this._markers.length < this._minClusterSize) {\n this._clusterMarker.hide();\n return;\n }\n\n this._clusterMarker.setPosition(this._center);\n\n this._clusterMarker.setText(this._markers.length);\n\n var thatMap = this._map;\n var thatBounds = this.getBounds();\n this._clusterMarker.addEventListener('click', function (event) {\n thatMap.setViewport(thatBounds);\n });\n };\n\n /**\n * 删除该聚合。\n * @return 无返回值。\n */\n Cluster.prototype.remove = function () {\n for (var i = 0, m; (m = this._markers[i]); i++) {\n tmplabel = this._markers[i].getLabel();\n this._markers[i].getMap() &&\n this._map.removeOverlay(this._markers[i]);\n this._markers[i].setLabel(tmplabel);\n } //清除散的标记点\n this._map.removeOverlay(this._clusterMarker);\n this._markers.length = 0;\n delete this._markers;\n };\n\n /**\n * 获取该聚合所包含的所有标记的最小外接矩形的范围。\n * @return {BMap.Bounds} 计算出的范围。\n */\n Cluster.prototype.getBounds = function () {\n var bounds = new BMap.Bounds(this._center, this._center);\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n bounds.extend(marker.getPosition());\n }\n return bounds;\n };\n\n /**\n * 获取该聚合的落脚点。\n * @return {BMap.Point} 该聚合的落脚点。\n */\n Cluster.prototype.getCenter = function () {\n return this._center;\n };\n})();\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAIA,OAAO,GAAIC,MAAM,CAACD,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAE;AAC9C,CAAC,YAAY;EACT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAIE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAaC,GAAG,EAAEC,MAAM,EAAEC,QAAQ,EAAE;IACrDD,MAAM,GAAGE,gBAAgB,CAACF,MAAM,CAAC;IACjC,IAAIG,OAAO,GAAGJ,GAAG,CAACK,YAAY,CAACJ,MAAM,CAACK,YAAY,CAAC,CAAC,CAAC;IACrD,IAAIC,OAAO,GAAGP,GAAG,CAACK,YAAY,CAACJ,MAAM,CAACO,YAAY,CAAC,CAAC,CAAC;IACrDJ,OAAO,CAACK,CAAC,IAAIP,QAAQ;IACrBE,OAAO,CAACM,CAAC,IAAIR,QAAQ;IACrBK,OAAO,CAACE,CAAC,IAAIP,QAAQ;IACrBK,OAAO,CAACG,CAAC,IAAIR,QAAQ;IACrB,IAAIS,KAAK,GAAGX,GAAG,CAACY,YAAY,CAACR,OAAO,CAAC;IACrC,IAAIS,KAAK,GAAGb,GAAG,CAACY,YAAY,CAACL,OAAO,CAAC;IACrC,OAAO,IAAIO,IAAI,CAACC,MAAM,CAACF,KAAK,EAAEF,KAAK,CAAC;EACxC,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACI,IAAIR,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAaF,MAAM,EAAE;IACrC,IAAIe,IAAI,GAAGC,QAAQ,CAAChB,MAAM,CAACK,YAAY,CAAC,CAAC,CAACY,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACzD,IAAIC,IAAI,GAAGF,QAAQ,CAAChB,MAAM,CAACO,YAAY,CAAC,CAAC,CAACU,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACzD,IAAIE,IAAI,GAAGH,QAAQ,CAAChB,MAAM,CAACK,YAAY,CAAC,CAAC,CAACe,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACvD,IAAIC,IAAI,GAAGL,QAAQ,CAAChB,MAAM,CAACO,YAAY,CAAC,CAAC,CAACa,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACvD,OAAO,IAAIP,IAAI,CAACC,MAAM,CAClB,IAAID,IAAI,CAACS,KAAK,CAACJ,IAAI,EAAEG,IAAI,CAAC,EAC1B,IAAIR,IAAI,CAACS,KAAK,CAACP,IAAI,EAAEI,IAAI,CAC7B,CAAC;EACL,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAIH,QAAQ,GAAG,SAAXA,QAAQA,CAAaO,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAE;IAClCD,GAAG,KAAKD,CAAC,GAAGG,IAAI,CAACD,GAAG,CAACF,CAAC,EAAEC,GAAG,CAAC,CAAC;IAC7BC,GAAG,KAAKF,CAAC,GAAGG,IAAI,CAACC,GAAG,CAACJ,CAAC,EAAEE,GAAG,CAAC,CAAC;IAC7B,OAAOF,CAAC;EACZ,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACI,IAAIK,OAAO,GAAG,SAAVA,OAAOA,CAAaC,MAAM,EAAE;IAC5B,OAAO,gBAAgB,KAAKC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,MAAM,CAAC;EACtE,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,IAAIK,OAAO,GAAG,SAAVA,OAAOA,CAAaC,IAAI,EAAEN,MAAM,EAAE;IAClC,IAAIO,KAAK,GAAG,CAAC,CAAC;IACd,IAAIR,OAAO,CAACC,MAAM,CAAC,EAAE;MACjB,IAAIA,MAAM,CAACK,OAAO,EAAE;QAChBE,KAAK,GAAGP,MAAM,CAACK,OAAO,CAACC,IAAI,CAAC;MAChC,CAAC,MAAM;QACH,KAAK,IAAIZ,CAAC,GAAG,CAAC,EAAEc,CAAC,EAAGA,CAAC,GAAGR,MAAM,CAACN,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;UACrC,IAAIc,CAAC,KAAKF,IAAI,EAAE;YACZC,KAAK,GAAGb,CAAC;YACT;UACJ;QACJ;MACJ;IACJ;IACA,OAAOa,KAAK;EAChB,CAAC;;EAED;AACJ;AACA;EACI,IAAIE,eAAe;EACf;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACS1C,OAAO,CAAC0C,eAAe,GAAG,UAAUvC,GAAG,EAAEwC,OAAO,EAAE;IAC/C,IAAI,CAACxC,GAAG,EAAE;MACN;IACJ;IACA,IAAI,CAACyC,IAAI,GAAGzC,GAAG;IACf,IAAI,CAAC0C,QAAQ,GAAG,EAAE;IAClB,IAAI,CAACC,SAAS,GAAG,EAAE;IAEnB,IAAIC,IAAI,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACxB,IAAI,CAACK,SAAS,GAAGD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;IACvC,IAAI,CAACE,QAAQ,GAAGF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACrC,IAAI,CAACG,eAAe,GAAGH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,gBAAgB,GAAG,KAAK;IAC7B,IAAIJ,IAAI,CAAC,iBAAiB,CAAC,IAAIK,SAAS,EAAE;MACtC,IAAI,CAACD,gBAAgB,GAAGJ,IAAI,CAAC,iBAAiB,CAAC;IACnD;IACA,IAAI,CAACM,OAAO,GAAGN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IAEnC,IAAIO,IAAI,GAAG,IAAI;IACf,IAAI,CAACV,IAAI,CAACW,gBAAgB,CAAC,SAAS,EAAE,YAAY;MAC9CD,IAAI,CAACE,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,CAACZ,IAAI,CAACW,gBAAgB,CAAC,SAAS,EAAE,YAAY;MAC9CD,IAAI,CAACE,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,IAAIC,IAAI,GAAGV,IAAI,CAAC,SAAS,CAAC;IAC1Bf,OAAO,CAACyB,IAAI,CAAC,IAAI,IAAI,CAACC,UAAU,CAACD,IAAI,CAAC;EAC1C,CAAE;;EAEN;AACJ;AACA;AACA;AACA;AACA;EACIf,eAAe,CAACP,SAAS,CAACuB,UAAU,GAAG,UAAUC,OAAO,EAAE;IACtD,KAAK,IAAIhC,CAAC,GAAG,CAAC,EAAEiC,GAAG,GAAGD,OAAO,CAACE,MAAM,EAAElC,CAAC,GAAGiC,GAAG,EAAEjC,CAAC,EAAE,EAAE;MAChD,IAAI,CAACmC,aAAa,CAACH,OAAO,CAAChC,CAAC,CAAC,CAAC;IAClC;IACA,IAAI,CAACoC,eAAe,CAAC,CAAC;EAC1B,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACIrB,eAAe,CAACP,SAAS,CAAC2B,aAAa,GAAG,UAAUE,MAAM,EAAE;IACxD,IAAIxB,KAAK,GAAGF,OAAO,CAAC0B,MAAM,EAAE,IAAI,CAACnB,QAAQ,CAAC;IAC1C,IAAIL,KAAK,KAAK,CAAC,CAAC,EAAE;MACdwB,MAAM,CAACC,WAAW,GAAG,KAAK;MAC1B,IAAI,CAACpB,QAAQ,CAACqB,IAAI,CAACF,MAAM,CAAC,CAAC,CAAC;IAChC;EACJ,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACItB,eAAe,CAACP,SAAS,CAACgC,SAAS,GAAG,UAAUH,MAAM,EAAE;IACpD,IAAI,CAACF,aAAa,CAACE,MAAM,CAAC;IAC1B,IAAI,CAACD,eAAe,CAAC,CAAC;EAC1B,CAAC;;EAED;AACJ;AACA;AACA;EACIrB,eAAe,CAACP,SAAS,CAAC4B,eAAe,GAAG,YAAY;IACpD,IAAIK,SAAS,GAAG,IAAI,CAACxB,IAAI,CAACyB,SAAS,CAAC,CAAC;IACrC,IAAIC,cAAc,GAAGpE,iBAAiB,CAClC,IAAI,CAAC0C,IAAI,EACTwB,SAAS,EACT,IAAI,CAACpB,SACT,CAAC;IACD,KAAK,IAAIrB,CAAC,GAAG,CAAC,EAAEqC,MAAM,EAAGA,MAAM,GAAG,IAAI,CAACnB,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACtD,IACI,CAACqC,MAAM,CAACC,WAAW,IACnBK,cAAc,CAACC,aAAa,CAACP,MAAM,CAACQ,WAAW,CAAC,CAAC,CAAC,EACpD;QACE,IAAI,CAACC,oBAAoB,CAACT,MAAM,CAAC;MACrC;IACJ;IAEA,IAAIJ,GAAG,GAAG,IAAI,CAACf,QAAQ,CAACgB,MAAM;IAC9B,KAAK,IAAIlC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiC,GAAG,EAAEjC,CAAC,EAAE,EAAE;MAC1B,IAAI,IAAI,CAACmB,SAAS,CAACnB,CAAC,CAAC,EAAE;QACnB,IAAI,CAACmB,SAAS,CAACnB,CAAC,CAAC,CAAC+C,MAAM,CAAC,CAAC;MAC9B;IACJ;EACJ,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACIhC,eAAe,CAACP,SAAS,CAACsC,oBAAoB,GAAG,UAAUT,MAAM,EAAE;IAC/D,IAAIW,QAAQ,GAAG,OAAO;IACtB,IAAIC,cAAc,GAAG,IAAI;IACzB,IAAIC,QAAQ,GAAGb,MAAM,CAACQ,WAAW,CAAC,CAAC;IACnC,KAAK,IAAI7C,CAAC,GAAG,CAAC,EAAEmD,OAAO,EAAGA,OAAO,GAAG,IAAI,CAAChC,SAAS,CAACnB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACzD,IAAIoD,MAAM,GAAGD,OAAO,CAACE,SAAS,CAAC,CAAC;MAChC,IAAID,MAAM,EAAE;QACR,IAAIE,CAAC,GAAG,IAAI,CAACrC,IAAI,CAACsC,WAAW,CAACH,MAAM,EAAEf,MAAM,CAACQ,WAAW,CAAC,CAAC,CAAC;QAC3D,IAAIS,CAAC,GAAGN,QAAQ,EAAE;UACdA,QAAQ,GAAGM,CAAC;UACZL,cAAc,GAAGE,OAAO;QAC5B;MACJ;IACJ;IAEA,IAAIF,cAAc,IAAIA,cAAc,CAACO,uBAAuB,CAACnB,MAAM,CAAC,EAAE;MAClEY,cAAc,CAACT,SAAS,CAACH,MAAM,CAAC;IACpC,CAAC,MAAM;MACH,IAAIc,OAAO,GAAG,IAAIM,OAAO,CAAC,IAAI,CAAC;MAC/BN,OAAO,CAACX,SAAS,CAACH,MAAM,CAAC;MACzB,IAAI,CAAClB,SAAS,CAACoB,IAAI,CAACY,OAAO,CAAC;IAChC;EACJ,CAAC;;EAED;AACJ;AACA;AACA;EACIpC,eAAe,CAACP,SAAS,CAACkD,kBAAkB,GAAG,YAAY;IACvD,KAAK,IAAI1D,CAAC,GAAG,CAAC,EAAEmD,OAAO,EAAGA,OAAO,GAAG,IAAI,CAAChC,SAAS,CAACnB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACzDmD,OAAO,CAACQ,MAAM,CAAC,CAAC;IACpB;IACA,IAAI,CAACxC,SAAS,GAAG,EAAE,CAAC,CAAC;IACrB,IAAI,CAACyC,yBAAyB,CAAC,CAAC,CAAC,CAAC;EACtC,CAAC;;EAED;AACJ;AACA;AACA;EACI7C,eAAe,CAACP,SAAS,CAACoD,yBAAyB,GAAG,YAAY;IAC9D,KAAK,IAAI5D,CAAC,GAAG,CAAC,EAAEqC,MAAM,EAAGA,MAAM,GAAG,IAAI,CAACnB,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACtDqC,MAAM,CAACC,WAAW,GAAG,KAAK;IAC9B;EACJ,CAAC;;EAED;AACJ;AACA;AACA;EACIvB,eAAe,CAACP,SAAS,CAACqD,qBAAqB,GAAG,YAAY;IAC1D,KAAK,IAAI7D,CAAC,GAAG,CAAC,EAAEqC,MAAM,EAAGA,MAAM,GAAG,IAAI,CAACnB,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACtDqC,MAAM,CAACC,WAAW,GAAG,KAAK;MAC1BwB,QAAQ,GAAGzB,MAAM,CAAC0B,QAAQ,CAAC,CAAC;MAC5B,IAAI,CAAC9C,IAAI,CAAC+C,aAAa,CAAC3B,MAAM,CAAC;MAC/BA,MAAM,CAAC4B,QAAQ,CAACH,QAAQ,CAAC;IAC7B;EACJ,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACI/C,eAAe,CAACP,SAAS,CAAC0D,aAAa,GAAG,UAAU7B,MAAM,EAAE;IACxD,IAAIxB,KAAK,GAAGF,OAAO,CAAC0B,MAAM,EAAE,IAAI,CAACnB,QAAQ,CAAC;IAC1C,IAAIL,KAAK,KAAK,CAAC,CAAC,EAAE;MACd,OAAO,KAAK;IAChB;IACAiD,QAAQ,GAAGzB,MAAM,CAAC0B,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC9C,IAAI,CAAC+C,aAAa,CAAC3B,MAAM,CAAC;IAC/BA,MAAM,CAAC4B,QAAQ,CAACH,QAAQ,CAAC;IACzB,IAAI,CAAC5C,QAAQ,CAACiD,MAAM,CAACtD,KAAK,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI;EACf,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACIE,eAAe,CAACP,SAAS,CAAC4D,YAAY,GAAG,UAAU/B,MAAM,EAAE;IACvD,IAAIgC,OAAO,GAAG,IAAI,CAACH,aAAa,CAAC7B,MAAM,CAAC;IACxC,IAAIgC,OAAO,EAAE;MACT,IAAI,CAACX,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACtB,eAAe,CAAC,CAAC;IAC1B;IACA,OAAOiC,OAAO;EAClB,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;EACItD,eAAe,CAACP,SAAS,CAAC8D,aAAa,GAAG,UAAUtC,OAAO,EAAE;IACzD,IAAIqC,OAAO,GAAG,KAAK;IACnB,KAAK,IAAIrE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgC,OAAO,CAACE,MAAM,EAAElC,CAAC,EAAE,EAAE;MACrC,IAAIuE,CAAC,GAAG,IAAI,CAACL,aAAa,CAAClC,OAAO,CAAChC,CAAC,CAAC,CAAC;MACtCqE,OAAO,GAAGA,OAAO,IAAIE,CAAC;IAC1B;IAEA,IAAIF,OAAO,EAAE;MACT,IAAI,CAACX,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACtB,eAAe,CAAC,CAAC;IAC1B;IACA,OAAOiC,OAAO;EAClB,CAAC;;EAED;AACJ;AACA;AACA;EACItD,eAAe,CAACP,SAAS,CAACgE,YAAY,GAAG,YAAY;IACjD,IAAI,CAACd,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACG,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAAC3C,QAAQ,GAAG,EAAE;EACtB,CAAC;;EAED;AACJ;AACA;AACA;EACIH,eAAe,CAACP,SAAS,CAACqB,OAAO,GAAG,YAAY;IAC5C,IAAI,CAAC6B,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACtB,eAAe,CAAC,CAAC;EAC1B,CAAC;;EAED;AACJ;AACA;AACA;EACIrB,eAAe,CAACP,SAAS,CAACiE,WAAW,GAAG,YAAY;IAChD,OAAO,IAAI,CAACpD,SAAS;EACzB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACIN,eAAe,CAACP,SAAS,CAACkE,WAAW,GAAG,UAAUC,IAAI,EAAE;IACpD,IAAI,CAACtD,SAAS,GAAGsD,IAAI;IACrB,IAAI,CAAC9C,OAAO,CAAC,CAAC;EAClB,CAAC;;EAED;AACJ;AACA;AACA;EACId,eAAe,CAACP,SAAS,CAACoE,UAAU,GAAG,YAAY;IAC/C,OAAO,IAAI,CAACtD,QAAQ;EACxB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACIP,eAAe,CAACP,SAAS,CAACqE,UAAU,GAAG,UAAUC,OAAO,EAAE;IACtD,IAAI,CAACxD,QAAQ,GAAGwD,OAAO;IACvB,IAAI,CAACjD,OAAO,CAAC,CAAC;EAClB,CAAC;;EAED;AACJ;AACA;AACA;EACId,eAAe,CAACP,SAAS,CAACuE,SAAS,GAAG,YAAY;IAC9C,OAAO,IAAI,CAACrD,OAAO;EACvB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACIX,eAAe,CAACP,SAAS,CAACwE,SAAS,GAAG,UAAUC,MAAM,EAAE;IACpD,IAAI,CAACvD,OAAO,GAAGuD,MAAM;IACrB,IAAI,CAACpD,OAAO,CAAC,CAAC;EAClB,CAAC;;EAED;AACJ;AACA;AACA;EACId,eAAe,CAACP,SAAS,CAAC0E,iBAAiB,GAAG,YAAY;IACtD,OAAO,IAAI,CAAC3D,eAAe;EAC/B,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACIR,eAAe,CAACP,SAAS,CAAC2E,iBAAiB,GAAG,UAAUR,IAAI,EAAE;IAC1D,IAAI,CAACpD,eAAe,GAAGoD,IAAI;IAC3B,IAAI,CAAC9C,OAAO,CAAC,CAAC;EAClB,CAAC;;EAED;AACJ;AACA;AACA;EACId,eAAe,CAACP,SAAS,CAAC4E,eAAe,GAAG,YAAY;IACpD,OAAO,IAAI,CAAC5D,gBAAgB;EAChC,CAAC;;EAED;AACJ;AACA;AACA;EACIT,eAAe,CAACP,SAAS,CAAC6E,MAAM,GAAG,YAAY;IAC3C,OAAO,IAAI,CAACpE,IAAI;EACpB,CAAC;;EAED;AACJ;AACA;AACA;EACIF,eAAe,CAACP,SAAS,CAAC8E,UAAU,GAAG,YAAY;IAC/C,OAAO,IAAI,CAACpE,QAAQ;EACxB,CAAC;;EAED;AACJ;AACA;AACA;EACIH,eAAe,CAACP,SAAS,CAAC+E,gBAAgB,GAAG,YAAY;IACrD,IAAIC,KAAK,GAAG,CAAC;IACb,KAAK,IAAIxF,CAAC,GAAG,CAAC,EAAEmD,OAAO,EAAGA,OAAO,GAAG,IAAI,CAAChC,SAAS,CAACnB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACzDmD,OAAO,CAACsC,MAAM,CAAC,CAAC,IAAID,KAAK,EAAE;IAC/B;IACA,OAAOA,KAAK;EAChB,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,SAAS/B,OAAOA,CAACiC,eAAe,EAAE;IAC9B,IAAI,CAACC,gBAAgB,GAAGD,eAAe;IACvC,IAAI,CAACzE,IAAI,GAAGyE,eAAe,CAACL,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC9D,eAAe,GAAGmE,eAAe,CAACR,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAAC1D,gBAAgB,GAAGkE,eAAe,CAACN,eAAe,CAAC,CAAC;IACzD,IAAI,CAACQ,OAAO,GAAG,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC1E,QAAQ,GAAG,EAAE,CAAC,CAAC;IACpB,IAAI,CAAC2E,WAAW,GAAG,IAAI,CAAC,CAAC;IACzB,IAAI,CAACC,OAAO,GAAG,KAAK,CAAC,CAAC;;IAEtB,IAAI,CAACC,cAAc,GAAG,IAAI1H,OAAO,CAAC2H,eAAe,CAC7C,IAAI,CAACJ,OAAO,EACZ,IAAI,CAAC1E,QAAQ,CAACgB,MAAM,EACpB;MACI+C,MAAM,EAAE,IAAI,CAACU,gBAAgB,CAACZ,SAAS,CAAC;IAC5C,CACJ,CAAC;IACD;EACJ;;EAEA;AACJ;AACA;AACA;AACA;EACItB,OAAO,CAACjD,SAAS,CAACgC,SAAS,GAAG,UAAUH,MAAM,EAAE;IAC5C,IAAI,IAAI,CAAC4D,iBAAiB,CAAC5D,MAAM,CAAC,EAAE;MAChC,OAAO,KAAK;IAChB,CAAC,CAAC;;IAEF,IAAI,CAAC,IAAI,CAACuD,OAAO,EAAE;MACf,IAAI,CAACA,OAAO,GAAGvD,MAAM,CAACQ,WAAW,CAAC,CAAC;MACnC,IAAI,CAACqD,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,MAAM;MACH,IAAI,IAAI,CAAC1E,gBAAgB,EAAE;QACvB,IAAI2E,CAAC,GAAG,IAAI,CAACjF,QAAQ,CAACgB,MAAM,GAAG,CAAC;QAChC,IAAIrC,GAAG,GACH,CAAC,IAAI,CAAC+F,OAAO,CAAC/F,GAAG,IAAIsG,CAAC,GAAG,CAAC,CAAC,GAAG9D,MAAM,CAACQ,WAAW,CAAC,CAAC,CAAChD,GAAG,IAAIsG,CAAC;QAC/D,IAAIzG,GAAG,GACH,CAAC,IAAI,CAACkG,OAAO,CAAClG,GAAG,IAAIyG,CAAC,GAAG,CAAC,CAAC,GAAG9D,MAAM,CAACQ,WAAW,CAAC,CAAC,CAACnD,GAAG,IAAIyG,CAAC;QAC/D,IAAI,CAACP,OAAO,GAAG,IAAItG,IAAI,CAACS,KAAK,CAACL,GAAG,EAAEG,GAAG,CAAC;QACvC,IAAI,CAACqG,gBAAgB,CAAC,CAAC;MAC3B,CAAC,CAAC;IACN;IAEA7D,MAAM,CAACC,WAAW,GAAG,IAAI;IACzB,IAAI,CAACpB,QAAQ,CAACqB,IAAI,CAACF,MAAM,CAAC;EAC9B,CAAC;;EAED;AACJ;AACA;AACA;EACIoB,OAAO,CAACjD,SAAS,CAACuC,MAAM,GAAG,YAAY;IACnC,IAAId,GAAG,GAAG,IAAI,CAACf,QAAQ,CAACgB,MAAM;IAE9B,IAAID,GAAG,GAAG,IAAI,CAACV,eAAe,EAAE;MAC5B,KAAK,IAAIvB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiC,GAAG,EAAEjC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAACiB,IAAI,CAACmF,UAAU,CAAC,IAAI,CAAClF,QAAQ,CAAClB,CAAC,CAAC,CAAC;MAC1C;IACJ,CAAC,MAAM;MACH,IAAI,CAACiB,IAAI,CAACmF,UAAU,CAAC,IAAI,CAACL,cAAc,CAAC;MACzC,IAAI,CAACD,OAAO,GAAG,IAAI;MACnB,IAAI,CAACO,mBAAmB,CAAC,CAAC;IAC9B;EACJ,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACI5C,OAAO,CAACjD,SAAS,CAACyF,iBAAiB,GAAG,UAAU5D,MAAM,EAAE;IACpD,IAAI,IAAI,CAACnB,QAAQ,CAACP,OAAO,EAAE;MACvB,OAAO,IAAI,CAACO,QAAQ,CAACP,OAAO,CAAC0B,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,MAAM;MACH,KAAK,IAAIrC,CAAC,GAAG,CAAC,EAAEc,CAAC,EAAGA,CAAC,GAAG,IAAI,CAACI,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;QAC5C,IAAIc,CAAC,KAAKuB,MAAM,EAAE;UACd,OAAO,IAAI;QACf;MACJ;IACJ;IACA,OAAO,KAAK;EAChB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACIoB,OAAO,CAACjD,SAAS,CAACgD,uBAAuB,GAAG,UAAUnB,MAAM,EAAE;IAC1D,OAAO,IAAI,CAACwD,WAAW,CAACjD,aAAa,CAACP,MAAM,CAACQ,WAAW,CAAC,CAAC,CAAC;EAC/D,CAAC;EAEDY,OAAO,CAACjD,SAAS,CAACiF,MAAM,GAAG,UAAUpD,MAAM,EAAE;IACzC,OAAO,IAAI,CAACyD,OAAO;EACvB,CAAC;;EAED;AACJ;AACA;AACA;EACIrC,OAAO,CAACjD,SAAS,CAAC0F,gBAAgB,GAAG,YAAY;IAC7C,IAAIzH,MAAM,GAAG,IAAIa,IAAI,CAACC,MAAM,CAAC,IAAI,CAACqG,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC;IACxD,IAAI,CAACC,WAAW,GAAGtH,iBAAiB,CAChC,IAAI,CAAC0C,IAAI,EACTxC,MAAM,EACN,IAAI,CAACkH,gBAAgB,CAAClB,WAAW,CAAC,CACtC,CAAC;EACL,CAAC;;EAED;AACJ;AACA;AACA;EACIhB,OAAO,CAACjD,SAAS,CAAC6F,mBAAmB,GAAG,YAAY;IAChD,IAAI,IAAI,CAACpF,IAAI,CAACqF,OAAO,CAAC,CAAC,GAAG,IAAI,CAACX,gBAAgB,CAACf,UAAU,CAAC,CAAC,EAAE;MAC1D,IAAI,CAACmB,cAAc,IAAI,IAAI,CAAC9E,IAAI,CAAC+C,aAAa,CAAC,IAAI,CAAC+B,cAAc,CAAC;MACnE,KAAK,IAAI/F,CAAC,GAAG,CAAC,EAAEqC,MAAM,EAAGA,MAAM,GAAG,IAAI,CAACnB,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;QACtD,IAAI,CAACiB,IAAI,CAACmF,UAAU,CAAC/D,MAAM,CAAC;MAChC;MACA;IACJ;IAEA,IAAI,IAAI,CAACnB,QAAQ,CAACgB,MAAM,GAAG,IAAI,CAACX,eAAe,EAAE;MAC7C,IAAI,CAACwE,cAAc,CAACQ,IAAI,CAAC,CAAC;MAC1B;IACJ;IAEA,IAAI,CAACR,cAAc,CAACS,WAAW,CAAC,IAAI,CAACZ,OAAO,CAAC;IAE7C,IAAI,CAACG,cAAc,CAACU,OAAO,CAAC,IAAI,CAACvF,QAAQ,CAACgB,MAAM,CAAC;IAEjD,IAAIwE,OAAO,GAAG,IAAI,CAACzF,IAAI;IACvB,IAAI0F,UAAU,GAAG,IAAI,CAACjE,SAAS,CAAC,CAAC;IACjC,IAAI,CAACqD,cAAc,CAACnE,gBAAgB,CAAC,OAAO,EAAE,UAAUgF,KAAK,EAAE;MAC3DF,OAAO,CAACG,WAAW,CAACF,UAAU,CAAC;IACnC,CAAC,CAAC;EACN,CAAC;;EAED;AACJ;AACA;AACA;EACIlD,OAAO,CAACjD,SAAS,CAACmD,MAAM,GAAG,YAAY;IACnC,KAAK,IAAI3D,CAAC,GAAG,CAAC,EAAEc,CAAC,EAAGA,CAAC,GAAG,IAAI,CAACI,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MAC5C8D,QAAQ,GAAG,IAAI,CAAC5C,QAAQ,CAAClB,CAAC,CAAC,CAAC+D,QAAQ,CAAC,CAAC;MACtC,IAAI,CAAC7C,QAAQ,CAAClB,CAAC,CAAC,CAACqF,MAAM,CAAC,CAAC,IACrB,IAAI,CAACpE,IAAI,CAAC+C,aAAa,CAAC,IAAI,CAAC9C,QAAQ,CAAClB,CAAC,CAAC,CAAC;MAC7C,IAAI,CAACkB,QAAQ,CAAClB,CAAC,CAAC,CAACiE,QAAQ,CAACH,QAAQ,CAAC;IACvC,CAAC,CAAC;IACF,IAAI,CAAC7C,IAAI,CAAC+C,aAAa,CAAC,IAAI,CAAC+B,cAAc,CAAC;IAC5C,IAAI,CAAC7E,QAAQ,CAACgB,MAAM,GAAG,CAAC;IACxB,OAAO,IAAI,CAAChB,QAAQ;EACxB,CAAC;;EAED;AACJ;AACA;AACA;EACIuC,OAAO,CAACjD,SAAS,CAACkC,SAAS,GAAG,YAAY;IACtC,IAAIjE,MAAM,GAAG,IAAIa,IAAI,CAACC,MAAM,CAAC,IAAI,CAACqG,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC;IACxD,KAAK,IAAI5F,CAAC,GAAG,CAAC,EAAEqC,MAAM,EAAGA,MAAM,GAAG,IAAI,CAACnB,QAAQ,CAAClB,CAAC,CAAC,EAAGA,CAAC,EAAE,EAAE;MACtDvB,MAAM,CAACqI,MAAM,CAACzE,MAAM,CAACQ,WAAW,CAAC,CAAC,CAAC;IACvC;IACA,OAAOpE,MAAM;EACjB,CAAC;;EAED;AACJ;AACA;AACA;EACIgF,OAAO,CAACjD,SAAS,CAAC6C,SAAS,GAAG,YAAY;IACtC,OAAO,IAAI,CAACuC,OAAO;EACvB,CAAC;AACL,CAAC,EAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"marker-clusterer.js","names":["BMapLib","window","getExtendedBounds","map","bounds","gridSize","cutBoundsInRange","pixelNE","pointToPixel","getNorthEast","pixelSW","getSouthWest","x","y","newNE","pixelToPoint","newSW","BMap","Bounds","maxX","getRange","lng","minX","maxY","lat","minY","Point","i","mix","max","Math","min","isArray","source","Object","prototype","toString","call","indexOf","item","index","m","MarkerClusterer","options","_map","_markers","_clusters","opts","_gridSize","_maxZoom","_minClusterSize","_isAverageCenter","undefined","_styles","that","addEventListener","_redraw","mkrs","addMarkers","markers","len","length","_pushMarkerTo","_createClusters","marker","isInCluster","push","addMarker","mapBounds","getBounds","extendedBounds","containsPoint","getPosition","_addToClosestCluster","render","distance","clusterToAddTo","position","cluster","center","getCenter","d","getDistance","isMarkerInClusterBounds","Cluster","_clearLastClusters","remove","_removeMarkersFromCluster","_removeMarkersFromMap","tmplabel","getLabel","removeOverlay","setLabel","_removeMarker","splice","removeMarker","success","removeMarkers","r","clearMarkers","getGridSize","setGridSize","size","getMaxZoom","setMaxZoom","maxZoom","getStyles","setStyles","styles","getMinClusterSize","setMinClusterSize","isAverageCenter","getMap","getMarkers","getClustersCount","count","isReal","markerClusterer","_markerClusterer","_center","_gridBounds","_isReal","_clusterMarker","TextIconOverlay","isMarkerInCluster","updateGridBounds","l","addOverlay","updateClusterMarker","getZoom","hide","setPosition","setText","thatMap","thatBounds","event","setViewport","extend"],"sources":["b-map/js/marker-clusterer.js"],"sourcesContent":["/* eslint-disable*/\n/**\n * @fileoverview MarkerClusterer标记聚合器用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。\n * 主入口类是<a href=\"symbols/BMapLib.MarkerClusterer.html\">MarkerClusterer</a>,\n * 基于Baidu Map API 1.2。\n *\n * @author Baidu Map Api Group\n * @version 1.2\n */\n\n/**\n * @namespace BMap的所有library类均放在BMapLib命名空间下\n */\nvar BMapLib = (window.BMapLib = BMapLib || {});\n(function () {\n /**\n * 获取一个扩展的视图范围,把上下左右都扩大一样的像素值。\n * @param {Map} map BMap.Map的实例化对象\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\n * @param {Number} gridSize 要扩大的像素值\n *\n * @return {BMap.Bounds} 返回扩大后的视图范围。\n */\n var getExtendedBounds = function (map, bounds, gridSize) {\n bounds = cutBoundsInRange(bounds);\n var pixelNE = map.pointToPixel(bounds.getNorthEast());\n var pixelSW = map.pointToPixel(bounds.getSouthWest());\n pixelNE.x += gridSize;\n pixelNE.y -= gridSize;\n pixelSW.x -= gridSize;\n pixelSW.y += gridSize;\n var newNE = map.pixelToPoint(pixelNE);\n var newSW = map.pixelToPoint(pixelSW);\n return new BMap.Bounds(newSW, newNE);\n };\n\n /**\n * 按照百度地图支持的世界范围对bounds进行边界处理\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\n *\n * @return {BMap.Bounds} 返回不越界的视图范围\n */\n var cutBoundsInRange = function (bounds) {\n var maxX = getRange(bounds.getNorthEast().lng, -180, 180);\n var minX = getRange(bounds.getSouthWest().lng, -180, 180);\n var maxY = getRange(bounds.getNorthEast().lat, -74, 74);\n var minY = getRange(bounds.getSouthWest().lat, -74, 74);\n return new BMap.Bounds(\n new BMap.Point(minX, minY),\n new BMap.Point(maxX, maxY),\n );\n };\n\n /**\n * 对单个值进行边界处理。\n * @param {Number} i 要处理的数值\n * @param {Number} min 下边界值\n * @param {Number} max 上边界值\n *\n * @return {Number} 返回不越界的数值\n */\n var getRange = function (i, mix, max) {\n mix && (i = Math.max(i, mix));\n max && (i = Math.min(i, max));\n return i;\n };\n\n /**\n * 判断给定的对象是否为数组\n * @param {Object} source 要测试的对象\n *\n * @return {Boolean} 如果是数组返回true,否则返回false\n */\n var isArray = function (source) {\n return '[object Array]' === Object.prototype.toString.call(source);\n };\n\n /**\n * 返回item在source中的索引位置\n * @param {Object} item 要测试的对象\n * @param {Array} source 数组\n *\n * @return {Number} 如果在数组内,返回索引,否则返回-1\n */\n var indexOf = function (item, source) {\n var index = -1;\n if (isArray(source)) {\n if (source.indexOf) {\n index = source.indexOf(item);\n } else {\n for (var i = 0, m; (m = source[i]); i++) {\n if (m === item) {\n index = i;\n break;\n }\n }\n }\n }\n return index;\n };\n\n /**\n *@exports MarkerClusterer as BMapLib.MarkerClusterer\n */\n var MarkerClusterer =\n /**\n * MarkerClusterer\n * @class 用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能\n * @constructor\n * @param {Map} map 地图的一个实例。\n * @param {Json Object} options 可选参数,可选项包括:<br />\n * markers {Array<Marker>} 要聚合的标记数组<br />\n * girdSize {Number} 聚合计算时网格的像素大小,默认60<br />\n * maxZoom {Number} 最大的聚合级别,大于该级别就不进行相应的聚合<br />\n * minClusterSize {Number} 最小的聚合数量,小于该数量的不能成为一个聚合,默认为2<br />\n * isAverangeCenter {Boolean} 聚合点的落脚位置是否是所有聚合在内点的平均值,默认为否,落脚在聚合内的第一个点<br />\n * styles {Array<IconStyle>} 自定义聚合后的图标风格,请参考TextIconOverlay类<br />\n */\n (BMapLib.MarkerClusterer = function (map, options) {\n if (!map) {\n return;\n }\n this._map = map;\n this._markers = [];\n this._clusters = [];\n\n var opts = options || {};\n this._gridSize = opts['gridSize'] || 60;\n this._maxZoom = opts['maxZoom'] || 18;\n this._minClusterSize = opts['minClusterSize'] || 2;\n this._isAverageCenter = false;\n if (opts['isAverageCenter'] != undefined) {\n this._isAverageCenter = opts['isAverageCenter'];\n }\n this._styles = opts['styles'] || [];\n\n var that = this;\n this._map.addEventListener('zoomend', function () {\n that._redraw();\n });\n\n this._map.addEventListener('moveend', function () {\n that._redraw();\n });\n\n var mkrs = opts['markers'];\n isArray(mkrs) && this.addMarkers(mkrs);\n });\n\n /**\n * 添加要聚合的标记数组。\n * @param {Array<Marker>} markers 要聚合的标记数组\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype.addMarkers = function (markers) {\n for (var i = 0, len = markers.length; i < len; i++) {\n this._pushMarkerTo(markers[i]);\n }\n this._createClusters();\n };\n\n /**\n * 把一个标记添加到要聚合的标记数组中\n * @param {BMap.Marker} marker 要添加的标记\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype._pushMarkerTo = function (marker) {\n var index = indexOf(marker, this._markers);\n if (index === -1) {\n marker.isInCluster = false;\n this._markers.push(marker); //Marker拖放后enableDragging不做变化,忽略\n }\n };\n\n /**\n * 添加一个聚合的标记。\n * @param {BMap.Marker} marker 要聚合的单个标记。\n * @return 无返回值。\n */\n MarkerClusterer.prototype.addMarker = function (marker) {\n this._pushMarkerTo(marker);\n this._createClusters();\n };\n\n /**\n * 根据所给定的标记,创建聚合点,并且遍历所有聚合点\n * @return 无返回值\n */\n MarkerClusterer.prototype._createClusters = function () {\n var mapBounds = this._map.getBounds();\n var extendedBounds = getExtendedBounds(\n this._map,\n mapBounds,\n this._gridSize,\n );\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n if (\n !marker.isInCluster &&\n extendedBounds.containsPoint(marker.getPosition())\n ) {\n this._addToClosestCluster(marker);\n }\n }\n\n var len = this._markers.length;\n for (var i = 0; i < len; i++) {\n if (this._clusters[i]) {\n this._clusters[i].render();\n }\n }\n };\n\n /**\n * 根据标记的位置,把它添加到最近的聚合中\n * @param {BMap.Marker} marker 要进行聚合的单个标记\n *\n * @return 无返回值。\n */\n MarkerClusterer.prototype._addToClosestCluster = function (marker) {\n var distance = 4000000;\n var clusterToAddTo = null;\n var position = marker.getPosition();\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n var center = cluster.getCenter();\n if (center) {\n var d = this._map.getDistance(center, marker.getPosition());\n if (d < distance) {\n distance = d;\n clusterToAddTo = cluster;\n }\n }\n }\n\n if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {\n clusterToAddTo.addMarker(marker);\n } else {\n var cluster = new Cluster(this);\n cluster.addMarker(marker);\n this._clusters.push(cluster);\n }\n };\n\n /**\n * 清除上一次的聚合的结果\n * @return 无返回值。\n */\n MarkerClusterer.prototype._clearLastClusters = function () {\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n cluster.remove();\n }\n this._clusters = []; //置空Cluster数组\n this._removeMarkersFromCluster(); //把Marker的cluster标记设为false\n };\n\n /**\n * 清除某个聚合中的所有标记\n * @return 无返回值\n */\n MarkerClusterer.prototype._removeMarkersFromCluster = function () {\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n marker.isInCluster = false;\n }\n };\n\n /**\n * 把所有的标记从地图上清除\n * @return 无返回值\n */\n MarkerClusterer.prototype._removeMarkersFromMap = function () {\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n marker.isInCluster = false;\n tmplabel = marker.getLabel();\n this._map.removeOverlay(marker);\n marker.setLabel(tmplabel);\n }\n };\n\n /**\n * 删除单个标记\n * @param {BMap.Marker} marker 需要被删除的marker\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype._removeMarker = function (marker) {\n var index = indexOf(marker, this._markers);\n if (index === -1) {\n return false;\n }\n tmplabel = marker.getLabel();\n this._map.removeOverlay(marker);\n marker.setLabel(tmplabel);\n this._markers.splice(index, 1);\n return true;\n };\n\n /**\n * 删除单个标记\n * @param {BMap.Marker} marker 需要被删除的marker\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype.removeMarker = function (marker) {\n var success = this._removeMarker(marker);\n if (success) {\n this._clearLastClusters();\n this._createClusters();\n }\n return success;\n };\n\n /**\n * 删除一组标记\n * @param {Array<BMap.Marker>} markers 需要被删除的marker数组\n *\n * @return {Boolean} 删除成功返回true,否则返回false\n */\n MarkerClusterer.prototype.removeMarkers = function (markers) {\n var success = false;\n for (var i = 0; i < markers.length; i++) {\n var r = this._removeMarker(markers[i]);\n success = success || r;\n }\n\n if (success) {\n this._clearLastClusters();\n this._createClusters();\n }\n return success;\n };\n\n /**\n * 从地图上彻底清除所有的标记\n * @return 无返回值\n */\n MarkerClusterer.prototype.clearMarkers = function () {\n this._clearLastClusters();\n this._removeMarkersFromMap();\n this._markers = [];\n };\n\n /**\n * 重新生成,比如改变了属性等\n * @return 无返回值\n */\n MarkerClusterer.prototype._redraw = function () {\n this._clearLastClusters();\n this._createClusters();\n };\n\n /**\n * 获取网格大小\n * @return {Number} 网格大小\n */\n MarkerClusterer.prototype.getGridSize = function () {\n return this._gridSize;\n };\n\n /**\n * 设置网格大小\n * @param {Number} size 网格大小\n * @return 无返回值\n */\n MarkerClusterer.prototype.setGridSize = function (size) {\n this._gridSize = size;\n this._redraw();\n };\n\n /**\n * 获取聚合的最大缩放级别。\n * @return {Number} 聚合的最大缩放级别。\n */\n MarkerClusterer.prototype.getMaxZoom = function () {\n return this._maxZoom;\n };\n\n /**\n * 设置聚合的最大缩放级别\n * @param {Number} maxZoom 聚合的最大缩放级别\n * @return 无返回值\n */\n MarkerClusterer.prototype.setMaxZoom = function (maxZoom) {\n this._maxZoom = maxZoom;\n this._redraw();\n };\n\n /**\n * 获取聚合的样式风格集合\n * @return {Array<IconStyle>} 聚合的样式风格集合\n */\n MarkerClusterer.prototype.getStyles = function () {\n return this._styles;\n };\n\n /**\n * 设置聚合的样式风格集合\n * @param {Array<IconStyle>} styles 样式风格数组\n * @return 无返回值\n */\n MarkerClusterer.prototype.setStyles = function (styles) {\n this._styles = styles;\n this._redraw();\n };\n\n /**\n * 获取单个聚合的最小数量。\n * @return {Number} 单个聚合的最小数量。\n */\n MarkerClusterer.prototype.getMinClusterSize = function () {\n return this._minClusterSize;\n };\n\n /**\n * 设置单个聚合的最小数量。\n * @param {Number} size 单个聚合的最小数量。\n * @return 无返回值。\n */\n MarkerClusterer.prototype.setMinClusterSize = function (size) {\n this._minClusterSize = size;\n this._redraw();\n };\n\n /**\n * 获取单个聚合的落脚点是否是聚合内所有标记的平均中心。\n * @return {Boolean} true或false。\n */\n MarkerClusterer.prototype.isAverageCenter = function () {\n return this._isAverageCenter;\n };\n\n /**\n * 获取聚合的Map实例。\n * @return {Map} Map的示例。\n */\n MarkerClusterer.prototype.getMap = function () {\n return this._map;\n };\n\n /**\n * 获取所有的标记数组。\n * @return {Array<Marker>} 标记数组。\n */\n MarkerClusterer.prototype.getMarkers = function () {\n return this._markers;\n };\n\n /**\n * 获取聚合的总数量。\n * @return {Number} 聚合的总数量。\n */\n MarkerClusterer.prototype.getClustersCount = function () {\n var count = 0;\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\n cluster.isReal() && count++;\n }\n return count;\n };\n\n /**\n * @ignore\n * Cluster\n * @class 表示一个聚合对象,该聚合,包含有N个标记,这N个标记组成的范围,并有予以显示在Map上的TextIconOverlay等。\n * @constructor\n * @param {MarkerClusterer} markerClusterer 一个标记聚合器示例。\n */\n function Cluster(markerClusterer) {\n this._markerClusterer = markerClusterer;\n this._map = markerClusterer.getMap();\n this._minClusterSize = markerClusterer.getMinClusterSize();\n this._isAverageCenter = markerClusterer.isAverageCenter();\n this._center = null; //落脚位置\n this._markers = []; //这个Cluster中所包含的markers\n this._gridBounds = null; //以中心点为准,向四边扩大gridSize个像素的范围,也即网格范围\n this._isReal = false; //真的是个聚合\n\n this._clusterMarker = new BMapLib.TextIconOverlay(\n this._center,\n this._markers.length,\n {\n styles: this._markerClusterer.getStyles(),\n },\n );\n //this._map.addOverlay(this._clusterMarker);\n }\n\n /**\n * 向该聚合添加一个标记。\n * @param {Marker} marker 要添加的标记。\n * @return 无返回值。\n */\n Cluster.prototype.addMarker = function (marker) {\n if (this.isMarkerInCluster(marker)) {\n return false;\n } //也可用marker.isInCluster判断,外面判断OK,这里基本不会命中\n\n if (!this._center) {\n this._center = marker.getPosition();\n this.updateGridBounds(); //\n } else {\n if (this._isAverageCenter) {\n var l = this._markers.length + 1;\n var lat =\n (this._center.lat * (l - 1) + marker.getPosition().lat) / l;\n var lng =\n (this._center.lng * (l - 1) + marker.getPosition().lng) / l;\n this._center = new BMap.Point(lng, lat);\n this.updateGridBounds();\n } //计算新的Center\n }\n\n marker.isInCluster = true;\n this._markers.push(marker);\n };\n\n /**\n * 进行dom操作\n * @return 无返回值\n */\n Cluster.prototype.render = function () {\n var len = this._markers.length;\n\n if (len < this._minClusterSize) {\n for (var i = 0; i < len; i++) {\n this._map.addOverlay(this._markers[i]);\n }\n } else {\n this._map.addOverlay(this._clusterMarker);\n this._isReal = true;\n this.updateClusterMarker();\n }\n };\n\n /**\n * 判断一个标记是否在该聚合中。\n * @param {Marker} marker 要判断的标记。\n * @return {Boolean} true或false。\n */\n Cluster.prototype.isMarkerInCluster = function (marker) {\n if (this._markers.indexOf) {\n return this._markers.indexOf(marker) != -1;\n } else {\n for (var i = 0, m; (m = this._markers[i]); i++) {\n if (m === marker) {\n return true;\n }\n }\n }\n return false;\n };\n\n /**\n * 判断一个标记是否在该聚合网格范围中。\n * @param {Marker} marker 要判断的标记。\n * @return {Boolean} true或false。\n */\n Cluster.prototype.isMarkerInClusterBounds = function (marker) {\n return this._gridBounds.containsPoint(marker.getPosition());\n };\n\n Cluster.prototype.isReal = function (marker) {\n return this._isReal;\n };\n\n /**\n * 更新该聚合的网格范围。\n * @return 无返回值。\n */\n Cluster.prototype.updateGridBounds = function () {\n var bounds = new BMap.Bounds(this._center, this._center);\n this._gridBounds = getExtendedBounds(\n this._map,\n bounds,\n this._markerClusterer.getGridSize(),\n );\n };\n\n /**\n * 更新该聚合的显示样式,也即TextIconOverlay。\n * @return 无返回值。\n */\n Cluster.prototype.updateClusterMarker = function () {\n if (this._map.getZoom() > this._markerClusterer.getMaxZoom()) {\n this._clusterMarker && this._map.removeOverlay(this._clusterMarker);\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n this._map.addOverlay(marker);\n }\n return;\n }\n\n if (this._markers.length < this._minClusterSize) {\n this._clusterMarker.hide();\n return;\n }\n\n this._clusterMarker.setPosition(this._center);\n\n this._clusterMarker.setText(this._markers.length);\n\n var thatMap = this._map;\n var thatBounds = this.getBounds();\n this._clusterMarker.addEventListener('click', function (event) {\n thatMap.setViewport(thatBounds);\n });\n };\n\n /**\n * 删除该聚合。\n * @return 无返回值。\n */\n Cluster.prototype.remove = function () {\n for (var i = 0, m; (m = this._markers[i]); i++) {\n tmplabel = this._markers[i].getLabel();\n this._markers[i].getMap() &&\n this._map.removeOverlay(this._markers[i]);\n this._markers[i].setLabel(tmplabel);\n } //清除散的标记点\n this._map.removeOverlay(this._clusterMarker);\n this._markers.length = 0;\n delete this._markers;\n };\n\n /**\n * 获取该聚合所包含的所有标记的最小外接矩形的范围。\n * @return {BMap.Bounds} 计算出的范围。\n */\n Cluster.prototype.getBounds = function () {\n var bounds = new BMap.Bounds(this._center, this._center);\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\n bounds.extend(marker.getPosition());\n }\n return bounds;\n };\n\n /**\n * 获取该聚合的落脚点。\n * @return {BMap.Point} 该聚合的落脚点。\n */\n Cluster.prototype.getCenter = function () {\n return this._center;\n };\n})();\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Point } from './b-map';
3
+ export interface LuShuProps {
4
+ map?: any;
5
+ points: Array<Point>;
6
+ icon?: {
7
+ url: string;
8
+ width: number;
9
+ height: number;
10
+ };
11
+ }
12
+ export interface LushuControl {
13
+ lushu: any;
14
+ }
15
+ declare const _default: React.ForwardRefExoticComponent<LuShuProps & React.RefAttributes<LushuControl>>;
16
+ export default _default;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _moment = _interopRequireDefault(require("moment"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
+
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+
24
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
+
26
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
27
+
28
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
29
+
30
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+
32
+ var LuShu = function LuShu(props, ref) {
33
+ var map = props.map,
34
+ points = props.points,
35
+ icon = props.icon;
36
+
37
+ var _useState = (0, _react.useState)(),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ instance = _useState2[0],
40
+ setInstance = _useState2[1];
41
+
42
+ (0, _react.useImperativeHandle)(ref, function () {
43
+ return {
44
+ lushu: instance
45
+ };
46
+ });
47
+ (0, _react.useEffect)(function () {
48
+ var path = [];
49
+ points.forEach(function (item) {
50
+ var lng = item.lng,
51
+ lat = item.lat;
52
+ path.push(new window.BMap.Point(lng, lat));
53
+ });
54
+ var line = new window.BMap.Polyline(path);
55
+ line.name = (0, _moment["default"])().valueOf();
56
+ map.addOverlay(line);
57
+ var lushu = new window.BMapLib.LuShu(map, path, {
58
+ landmarkPois: [],
59
+ icon: new window.BMap.Icon(icon === null || icon === void 0 ? void 0 : icon.url, new window.BMap.Size(icon === null || icon === void 0 ? void 0 : icon.width, icon === null || icon === void 0 ? void 0 : icon.height)),
60
+ defaultContent: '',
61
+ enableRotation: true
62
+ });
63
+ setInstance(lushu);
64
+ lushu.start();
65
+ return function () {
66
+ lushu.stop();
67
+ lushu.hideInfoWindow();
68
+ map.removeOverlay(line);
69
+ map.removeOverlay(lushu._marker);
70
+ };
71
+ }, [points]);
72
+ return /*#__PURE__*/_react["default"].createElement("div", null);
73
+ };
74
+
75
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(LuShu);
76
+
77
+ exports["default"] = _default;
78
+ //# sourceMappingURL=lushu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lushu.js","names":["LuShu","props","ref","map","points","icon","useState","instance","setInstance","useImperativeHandle","lushu","useEffect","path","forEach","item","lng","lat","push","window","BMap","Point","line","Polyline","name","moment","valueOf","addOverlay","BMapLib","landmarkPois","Icon","url","Size","width","height","defaultContent","enableRotation","start","stop","hideInfoWindow","removeOverlay","_marker","React","createElement","forwardRef"],"sources":["b-map/lushu.js"],"sourcesContent":["import moment from 'moment';\nimport React, { forwardRef, useEffect, useImperativeHandle, useState, } from 'react';\nconst LuShu = (props, ref) => {\n const { map, points, icon } = props;\n const [instance, setInstance] = useState();\n useImperativeHandle(ref, () => ({\n lushu: instance,\n }));\n useEffect(() => {\n const path = [];\n points.forEach((item) => {\n const { lng, lat } = item;\n path.push(new window.BMap.Point(lng, lat));\n });\n const line = new window.BMap.Polyline(path);\n line.name = moment().valueOf();\n map.addOverlay(line);\n const lushu = new window.BMapLib.LuShu(map, path, {\n landmarkPois: [],\n icon: new window.BMap.Icon(icon === null || icon === void 0 ? void 0 : icon.url, new window.BMap.Size(icon === null || icon === void 0 ? void 0 : icon.width, icon === null || icon === void 0 ? void 0 : icon.height)),\n defaultContent: '',\n enableRotation: true,\n });\n setInstance(lushu);\n lushu.start();\n return () => {\n lushu.stop();\n lushu.hideInfoWindow();\n map.removeOverlay(line);\n map.removeOverlay(lushu._marker);\n };\n }, [points]);\n return React.createElement(\"div\", null);\n};\nexport default forwardRef(LuShu);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;;;AACA,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAQC,GAAR,EAAgB;EAC1B,IAAQC,GAAR,GAA8BF,KAA9B,CAAQE,GAAR;EAAA,IAAaC,MAAb,GAA8BH,KAA9B,CAAaG,MAAb;EAAA,IAAqBC,IAArB,GAA8BJ,KAA9B,CAAqBI,IAArB;;EACA,gBAAgC,IAAAC,eAAA,GAAhC;EAAA;EAAA,IAAOC,QAAP;EAAA,IAAiBC,WAAjB;;EACA,IAAAC,0BAAA,EAAoBP,GAApB,EAAyB;IAAA,OAAO;MAC5BQ,KAAK,EAAEH;IADqB,CAAP;EAAA,CAAzB;EAGA,IAAAI,gBAAA,EAAU,YAAM;IACZ,IAAMC,IAAI,GAAG,EAAb;IACAR,MAAM,CAACS,OAAP,CAAe,UAACC,IAAD,EAAU;MACrB,IAAQC,GAAR,GAAqBD,IAArB,CAAQC,GAAR;MAAA,IAAaC,GAAb,GAAqBF,IAArB,CAAaE,GAAb;MACAJ,IAAI,CAACK,IAAL,CAAU,IAAIC,MAAM,CAACC,IAAP,CAAYC,KAAhB,CAAsBL,GAAtB,EAA2BC,GAA3B,CAAV;IACH,CAHD;IAIA,IAAMK,IAAI,GAAG,IAAIH,MAAM,CAACC,IAAP,CAAYG,QAAhB,CAAyBV,IAAzB,CAAb;IACAS,IAAI,CAACE,IAAL,GAAY,IAAAC,kBAAA,IAASC,OAAT,EAAZ;IACAtB,GAAG,CAACuB,UAAJ,CAAeL,IAAf;IACA,IAAMX,KAAK,GAAG,IAAIQ,MAAM,CAACS,OAAP,CAAe3B,KAAnB,CAAyBG,GAAzB,EAA8BS,IAA9B,EAAoC;MAC9CgB,YAAY,EAAE,EADgC;MAE9CvB,IAAI,EAAE,IAAIa,MAAM,CAACC,IAAP,CAAYU,IAAhB,CAAqBxB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACyB,GAAtE,EAA2E,IAAIZ,MAAM,CAACC,IAAP,CAAYY,IAAhB,CAAqB1B,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAAC2B,KAAtE,EAA6E3B,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAAC4B,MAA9H,CAA3E,CAFwC;MAG9CC,cAAc,EAAE,EAH8B;MAI9CC,cAAc,EAAE;IAJ8B,CAApC,CAAd;IAMA3B,WAAW,CAACE,KAAD,CAAX;IACAA,KAAK,CAAC0B,KAAN;IACA,OAAO,YAAM;MACT1B,KAAK,CAAC2B,IAAN;MACA3B,KAAK,CAAC4B,cAAN;MACAnC,GAAG,CAACoC,aAAJ,CAAkBlB,IAAlB;MACAlB,GAAG,CAACoC,aAAJ,CAAkB7B,KAAK,CAAC8B,OAAxB;IACH,CALD;EAMH,CAvBD,EAuBG,CAACpC,MAAD,CAvBH;EAwBA,oBAAOqC,iBAAA,CAAMC,aAAN,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACH,CA/BD;;4BAgCe,IAAAC,iBAAA,EAAW3C,KAAX,C"}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { Point } from './b-map';
3
+ import './js/marker-clusterer.js';
4
+ export interface MarkerClusterProps {
5
+ map?: any;
6
+ points: Array<Point>;
7
+ /**
8
+ * 散开后点位的点击事件
9
+ */
10
+ onMarkerClick?: (item: any) => any;
11
+ /**
12
+ * 散开后点位的icon
13
+ */
14
+ markerIcon: {
15
+ url: string;
16
+ width: number;
17
+ height: number;
18
+ };
19
+ /**
20
+ * 聚合点位的icon
21
+ */
22
+ markerClusterIcon: {
23
+ url: string;
24
+ width: number;
25
+ height: number;
26
+ };
27
+ }
28
+ declare const MarkerCluster: React.FC<MarkerClusterProps>;
29
+ export default MarkerCluster;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ require("./js/marker-clusterer.js");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var MarkerCluster = function MarkerCluster(props) {
15
+ var map = props.map,
16
+ markerIcon = props.markerIcon,
17
+ markerClusterIcon = props.markerClusterIcon,
18
+ points = props.points,
19
+ onMarkerClick = props.onMarkerClick;
20
+
21
+ _react["default"].useEffect(function () {
22
+ var markers = [];
23
+ var myIcon = new window.BMap.Icon(markerIcon.url, new window.BMap.Size(markerIcon.width, markerIcon.height));
24
+ var markerClusterer = undefined;
25
+ points.forEach(function (item) {
26
+ var point = new window.BMap.Point(item.lng, item.lat);
27
+ var marker = new window.BMap.Marker(point, {
28
+ icon: myIcon
29
+ });
30
+ marker.addEventListener('click', function () {
31
+ onMarkerClick && onMarkerClick(item);
32
+ });
33
+ markers.push(marker);
34
+ });
35
+ markerClusterer = new window.BMapLib.MarkerClusterer(map, {
36
+ markers: markers,
37
+ styles: [{
38
+ url: markerClusterIcon.url,
39
+ size: new window.BMap.Size(markerClusterIcon.width, markerClusterIcon.height)
40
+ }]
41
+ });
42
+ return function () {
43
+ markerClusterer.clearMarkers();
44
+ };
45
+ }, [points]);
46
+
47
+ return /*#__PURE__*/_react["default"].createElement("div", null);
48
+ };
49
+
50
+ var _default = MarkerCluster;
51
+ exports["default"] = _default;
52
+ //# sourceMappingURL=marker-clusterer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-clusterer.js","names":["MarkerCluster","props","map","markerIcon","markerClusterIcon","points","onMarkerClick","React","useEffect","markers","myIcon","window","BMap","Icon","url","Size","width","height","markerClusterer","undefined","forEach","item","point","Point","lng","lat","marker","Marker","icon","addEventListener","push","BMapLib","MarkerClusterer","styles","size","clearMarkers","createElement"],"sources":["b-map/marker-clusterer.js"],"sourcesContent":["import React from 'react';\nimport './js/marker-clusterer.js';\nconst MarkerCluster = (props) => {\n const { map, markerIcon, markerClusterIcon, points, onMarkerClick } = props;\n React.useEffect(() => {\n const markers = [];\n const myIcon = new window.BMap.Icon(markerIcon.url, new window.BMap.Size(markerIcon.width, markerIcon.height));\n let markerClusterer = undefined;\n points.forEach((item) => {\n const point = new window.BMap.Point(item.lng, item.lat);\n const marker = new window.BMap.Marker(point, {\n icon: myIcon,\n });\n marker.addEventListener('click', () => {\n onMarkerClick && onMarkerClick(item);\n });\n markers.push(marker);\n });\n markerClusterer = new window.BMapLib.MarkerClusterer(map, {\n markers,\n styles: [\n {\n url: markerClusterIcon.url,\n size: new window.BMap.Size(markerClusterIcon.width, markerClusterIcon.height),\n },\n ],\n });\n return () => {\n markerClusterer.clearMarkers();\n };\n }, [points]);\n return React.createElement(\"div\", null);\n};\nexport default MarkerCluster;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AACA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;EAC7B,IAAQC,GAAR,GAAsED,KAAtE,CAAQC,GAAR;EAAA,IAAaC,UAAb,GAAsEF,KAAtE,CAAaE,UAAb;EAAA,IAAyBC,iBAAzB,GAAsEH,KAAtE,CAAyBG,iBAAzB;EAAA,IAA4CC,MAA5C,GAAsEJ,KAAtE,CAA4CI,MAA5C;EAAA,IAAoDC,aAApD,GAAsEL,KAAtE,CAAoDK,aAApD;;EACAC,iBAAA,CAAMC,SAAN,CAAgB,YAAM;IAClB,IAAMC,OAAO,GAAG,EAAhB;IACA,IAAMC,MAAM,GAAG,IAAIC,MAAM,CAACC,IAAP,CAAYC,IAAhB,CAAqBV,UAAU,CAACW,GAAhC,EAAqC,IAAIH,MAAM,CAACC,IAAP,CAAYG,IAAhB,CAAqBZ,UAAU,CAACa,KAAhC,EAAuCb,UAAU,CAACc,MAAlD,CAArC,CAAf;IACA,IAAIC,eAAe,GAAGC,SAAtB;IACAd,MAAM,CAACe,OAAP,CAAe,UAACC,IAAD,EAAU;MACrB,IAAMC,KAAK,GAAG,IAAIX,MAAM,CAACC,IAAP,CAAYW,KAAhB,CAAsBF,IAAI,CAACG,GAA3B,EAAgCH,IAAI,CAACI,GAArC,CAAd;MACA,IAAMC,MAAM,GAAG,IAAIf,MAAM,CAACC,IAAP,CAAYe,MAAhB,CAAuBL,KAAvB,EAA8B;QACzCM,IAAI,EAAElB;MADmC,CAA9B,CAAf;MAGAgB,MAAM,CAACG,gBAAP,CAAwB,OAAxB,EAAiC,YAAM;QACnCvB,aAAa,IAAIA,aAAa,CAACe,IAAD,CAA9B;MACH,CAFD;MAGAZ,OAAO,CAACqB,IAAR,CAAaJ,MAAb;IACH,CATD;IAUAR,eAAe,GAAG,IAAIP,MAAM,CAACoB,OAAP,CAAeC,eAAnB,CAAmC9B,GAAnC,EAAwC;MACtDO,OAAO,EAAPA,OADsD;MAEtDwB,MAAM,EAAE,CACJ;QACInB,GAAG,EAAEV,iBAAiB,CAACU,GAD3B;QAEIoB,IAAI,EAAE,IAAIvB,MAAM,CAACC,IAAP,CAAYG,IAAhB,CAAqBX,iBAAiB,CAACY,KAAvC,EAA8CZ,iBAAiB,CAACa,MAAhE;MAFV,CADI;IAF8C,CAAxC,CAAlB;IASA,OAAO,YAAM;MACTC,eAAe,CAACiB,YAAhB;IACH,CAFD;EAGH,CA1BD,EA0BG,CAAC9B,MAAD,CA1BH;;EA2BA,oBAAOE,iBAAA,CAAM6B,aAAN,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACH,CA9BD;;eA+BepC,a"}
@@ -0,0 +1,45 @@
1
+ import { Component } from 'react';
2
+ import { Point } from './index';
3
+ export interface MarkerProps extends Point {
4
+ map?: any;
5
+ icon?: {
6
+ url: string;
7
+ width: number;
8
+ height: number;
9
+ };
10
+ offset?: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ jump?: boolean;
15
+ zIndex?: number;
16
+ onClick?: (...rest: any[]) => any;
17
+ onDragend?: (lng: number, lat: number, address: string, detail?: any) => any;
18
+ }
19
+ export interface MarkerState {
20
+ }
21
+ /**
22
+ * 百度地图的Marker组件,用于在地图上标记点位
23
+ */
24
+ declare class Marker extends Component<MarkerProps, MarkerState> {
25
+ marker: any;
26
+ static defaultProps: {
27
+ jump: boolean;
28
+ };
29
+ componentDidMount(): void;
30
+ componentDidUpdate(): void;
31
+ componentWillUnmount(): void;
32
+ /**
33
+ * 在组件销毁的时候以及点位更新的时候, 需要在地图上先清空点位
34
+ */
35
+ destroy(): void;
36
+ /**
37
+ * 初始化点位信息,可以使用两种方式初始化。
38
+ * 1. 原始点位初始化(不传入children)
39
+ * 2. 自定义点位 -> 传入children初始化
40
+ * 当使用自定义点位初始化的时候, 暂不支持拖拽, 但是能够使用css修改样式, 更为灵活。
41
+ */
42
+ init(): void;
43
+ render(): any;
44
+ }
45
+ export default Marker;
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _reactDom = require("react-dom");
13
+
14
+ var _customOverlay = _interopRequireDefault(require("./custom-overlay"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
+
24
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
25
+
26
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
27
+
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
+
32
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
33
+
34
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
35
+
36
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
+
38
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
+
40
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
+
42
+ /**
43
+ * 百度地图的Marker组件,用于在地图上标记点位
44
+ */
45
+ var Marker = /*#__PURE__*/function (_Component) {
46
+ _inherits(Marker, _Component);
47
+
48
+ var _super = _createSuper(Marker);
49
+
50
+ function Marker() {
51
+ _classCallCheck(this, Marker);
52
+
53
+ return _super.apply(this, arguments);
54
+ }
55
+
56
+ _createClass(Marker, [{
57
+ key: "componentDidMount",
58
+ value: function componentDidMount() {
59
+ this.init();
60
+ }
61
+ }, {
62
+ key: "componentDidUpdate",
63
+ value: function componentDidUpdate() {
64
+ this.init();
65
+ }
66
+ }, {
67
+ key: "componentWillUnmount",
68
+ value: function componentWillUnmount() {
69
+ this.destroy();
70
+ }
71
+ /**
72
+ * 在组件销毁的时候以及点位更新的时候, 需要在地图上先清空点位
73
+ */
74
+
75
+ }, {
76
+ key: "destroy",
77
+ value: function destroy() {
78
+ var map = this.props.map;
79
+
80
+ if (this.marker) {
81
+ map.removeOverlay(this.marker);
82
+ this.marker = null;
83
+ }
84
+ }
85
+ /**
86
+ * 初始化点位信息,可以使用两种方式初始化。
87
+ * 1. 原始点位初始化(不传入children)
88
+ * 2. 自定义点位 -> 传入children初始化
89
+ * 当使用自定义点位初始化的时候, 暂不支持拖拽, 但是能够使用css修改样式, 更为灵活。
90
+ */
91
+
92
+ }, {
93
+ key: "init",
94
+ value: function init() {
95
+ this.destroy();
96
+ var _this$props = this.props,
97
+ zIndex = _this$props.zIndex,
98
+ icon = _this$props.icon,
99
+ map = _this$props.map,
100
+ lng = _this$props.lng,
101
+ lat = _this$props.lat,
102
+ onClick = _this$props.onClick,
103
+ onDragend = _this$props.onDragend,
104
+ children = _this$props.children,
105
+ jump = _this$props.jump,
106
+ offset = _this$props.offset;
107
+
108
+ if (children) {
109
+ var contentDom = document.createElement('div');
110
+ (0, _reactDom.render)( /*#__PURE__*/_react["default"].createElement("div", {
111
+ className: "eh-bmap-marker__point"
112
+ }, children), contentDom);
113
+ var CustomOverlay = (0, _customOverlay["default"])(window.BMap.Overlay);
114
+ this.marker = new CustomOverlay({
115
+ lng: lng,
116
+ lat: lat
117
+ }, contentDom, {
118
+ zIndex: zIndex
119
+ });
120
+ map.addOverlay(this.marker);
121
+ } else {
122
+ var point = new window.BMap.Point(lng, lat);
123
+ var markerOptions = {};
124
+
125
+ if (icon) {
126
+ var myIcon = new window.BMap.Icon(icon.url, new window.BMap.Size(icon.width, icon.height));
127
+ markerOptions.icon = myIcon;
128
+ }
129
+
130
+ if (offset) {
131
+ var offsetSize = new window.BMap.Size(offset.width, offset.height);
132
+ markerOptions.offset = offsetSize;
133
+ }
134
+
135
+ this.marker = new window.BMap.Marker(point, markerOptions);
136
+
137
+ if (zIndex) {
138
+ this.marker.setZIndex(zIndex);
139
+ }
140
+
141
+ map.addOverlay(this.marker);
142
+
143
+ if (jump) {
144
+ this.marker.setAnimation(window.BMAP_ANIMATION_BOUNCE);
145
+ }
146
+
147
+ if (onClick) {
148
+ this.marker.addEventListener('click', function () {
149
+ return onClick.apply(void 0, arguments);
150
+ });
151
+ } // 设置拖拽事件
152
+
153
+
154
+ if (onDragend) {
155
+ var myGeo = new window.BMap.Geocoder({
156
+ extensions_town: true
157
+ });
158
+ this.marker.enableDragging();
159
+ this.marker.addEventListener('dragend', function (e) {
160
+ myGeo.getLocation(new window.BMap.Point(lng, lat), function (result) {
161
+ if (result) {
162
+ onDragend(e.point.lng, e.point.lat, result.address, result);
163
+ }
164
+ });
165
+ });
166
+ }
167
+ }
168
+ }
169
+ }, {
170
+ key: "render",
171
+ value: function render() {
172
+ return null;
173
+ }
174
+ }]);
175
+
176
+ return Marker;
177
+ }(_react.Component);
178
+
179
+ Marker.defaultProps = {
180
+ jump: false
181
+ };
182
+ var _default = Marker;
183
+ exports["default"] = _default;
184
+ //# sourceMappingURL=marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.js","names":["Marker","init","destroy","map","props","marker","removeOverlay","zIndex","icon","lng","lat","onClick","onDragend","children","jump","offset","contentDom","document","createElement","render","React","className","CustomOverlay","getCustomOverlay","window","BMap","Overlay","addOverlay","point","Point","markerOptions","myIcon","Icon","url","Size","width","height","offsetSize","setZIndex","setAnimation","BMAP_ANIMATION_BOUNCE","addEventListener","myGeo","Geocoder","extensions_town","enableDragging","e","getLocation","result","address","Component","defaultProps"],"sources":["b-map/marker.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { render } from 'react-dom';\nimport getCustomOverlay from './custom-overlay';\n/**\n * 百度地图的Marker组件,用于在地图上标记点位\n */\nclass Marker extends Component {\n componentDidMount() {\n this.init();\n }\n componentDidUpdate() {\n this.init();\n }\n componentWillUnmount() {\n this.destroy();\n }\n /**\n * 在组件销毁的时候以及点位更新的时候, 需要在地图上先清空点位\n */\n destroy() {\n const { map } = this.props;\n if (this.marker) {\n map.removeOverlay(this.marker);\n this.marker = null;\n }\n }\n /**\n * 初始化点位信息,可以使用两种方式初始化。\n * 1. 原始点位初始化(不传入children)\n * 2. 自定义点位 -> 传入children初始化\n * 当使用自定义点位初始化的时候, 暂不支持拖拽, 但是能够使用css修改样式, 更为灵活。\n */\n init() {\n this.destroy();\n const { zIndex, icon, map, lng, lat, onClick, onDragend, children, jump, offset, } = this.props;\n if (children) {\n const contentDom = document.createElement('div');\n render(React.createElement(\"div\", { className: \"eh-bmap-marker__point\" }, children), contentDom);\n const CustomOverlay = getCustomOverlay(window.BMap.Overlay);\n this.marker = new CustomOverlay({ lng, lat }, contentDom, { zIndex });\n map.addOverlay(this.marker);\n }\n else {\n const point = new window.BMap.Point(lng, lat);\n const markerOptions = {};\n if (icon) {\n const myIcon = new window.BMap.Icon(icon.url, new window.BMap.Size(icon.width, icon.height));\n markerOptions.icon = myIcon;\n }\n if (offset) {\n const offsetSize = new window.BMap.Size(offset.width, offset.height);\n markerOptions.offset = offsetSize;\n }\n this.marker = new window.BMap.Marker(point, markerOptions);\n if (zIndex) {\n this.marker.setZIndex(zIndex);\n }\n map.addOverlay(this.marker);\n if (jump) {\n this.marker.setAnimation(window.BMAP_ANIMATION_BOUNCE);\n }\n if (onClick) {\n this.marker.addEventListener('click', (...rest) => onClick(...rest));\n }\n // 设置拖拽事件\n if (onDragend) {\n const myGeo = new window.BMap.Geocoder({ extensions_town: true });\n this.marker.enableDragging();\n this.marker.addEventListener('dragend', (e) => {\n myGeo.getLocation(new window.BMap.Point(lng, lat), (result) => {\n if (result) {\n onDragend(e.point.lng, e.point.lat, result.address, result);\n }\n });\n });\n }\n }\n }\n render() {\n return null;\n }\n}\nMarker.defaultProps = {\n jump: false,\n};\nexport default Marker;\n"],"mappings":"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"}