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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/README.md +46 -46
  2. package/lib/b-map/b-map.d.ts +1 -1
  3. package/lib/b-map/b-map.js +100 -162
  4. package/lib/b-map/b-map.js.map +1 -1
  5. package/lib/b-map/custom-overlay.js +17 -37
  6. package/lib/b-map/custom-overlay.js.map +1 -1
  7. package/lib/b-map/drawing.js +11 -25
  8. package/lib/b-map/drawing.js.map +1 -1
  9. package/lib/b-map/index.d.ts +2 -2
  10. package/lib/b-map/index.js +4 -16
  11. package/lib/b-map/index.js.map +1 -1
  12. package/lib/b-map/js/marker-clusterer.js +223 -339
  13. package/lib/b-map/js/marker-clusterer.js.map +1 -1
  14. package/lib/b-map/lushu.js +17 -36
  15. package/lib/b-map/lushu.js.map +1 -1
  16. package/lib/b-map/marker-clusterer.js +6 -14
  17. package/lib/b-map/marker-clusterer.js.map +1 -1
  18. package/lib/b-map/marker.js +32 -70
  19. package/lib/b-map/marker.js.map +1 -1
  20. package/lib/b-map/polygon.js +5 -13
  21. package/lib/b-map/polygon.js.map +1 -1
  22. package/lib/b-map/style/css.js.map +1 -1
  23. package/lib/b-map/style/index.js.map +1 -1
  24. package/lib/b-map/style/index.less +10 -10
  25. package/lib/create-modal/create-modal.d.ts +3 -2
  26. package/lib/create-modal/create-modal.js +163 -307
  27. package/lib/create-modal/create-modal.js.map +1 -1
  28. package/lib/create-modal/index.d.ts +1 -2
  29. package/lib/create-modal/index.js +2 -8
  30. package/lib/create-modal/index.js.map +1 -1
  31. package/lib/create-modal/style/css.js +0 -18
  32. package/lib/create-modal/style/css.js.map +1 -1
  33. package/lib/create-modal/style/index.css +2 -2
  34. package/lib/create-modal/style/index.d.ts +0 -9
  35. package/lib/create-modal/style/index.js +0 -18
  36. package/lib/create-modal/style/index.js.map +1 -1
  37. package/lib/create-modal/style/index.less +116 -119
  38. package/lib/global.less +5 -6
  39. package/lib/import-modal/import-modal.d.ts +3 -1
  40. package/lib/import-modal/import-modal.js +140 -204
  41. package/lib/import-modal/import-modal.js.map +1 -1
  42. package/lib/import-modal/index.js +2 -6
  43. package/lib/import-modal/index.js.map +1 -1
  44. package/lib/import-modal/style/css.js +0 -10
  45. package/lib/import-modal/style/css.js.map +1 -1
  46. package/lib/import-modal/style/index.d.ts +0 -5
  47. package/lib/import-modal/style/index.js +0 -10
  48. package/lib/import-modal/style/index.js.map +1 -1
  49. package/lib/import-modal/style/index.less +14 -15
  50. package/lib/index.js +1 -14
  51. package/lib/index.js.map +1 -1
  52. package/lib/interface/index.js.map +1 -1
  53. package/lib/mapv-Layer/Function.js +0 -2
  54. package/lib/mapv-Layer/Function.js.map +1 -1
  55. package/lib/mapv-Layer/index.js +2 -6
  56. package/lib/mapv-Layer/index.js.map +1 -1
  57. package/lib/mapv-Layer/mapv-Layer.js +19 -40
  58. package/lib/mapv-Layer/mapv-Layer.js.map +1 -1
  59. package/lib/mapv-Layer/style/css.js.map +1 -1
  60. package/lib/mapv-Layer/style/index.js.map +1 -1
  61. package/lib/percent/index.d.ts +1 -1
  62. package/lib/percent/index.js +2 -7
  63. package/lib/percent/index.js.map +1 -1
  64. package/lib/percent/interface.js.map +1 -1
  65. package/lib/percent/line-percent.js +20 -37
  66. package/lib/percent/line-percent.js.map +1 -1
  67. package/lib/percent/percent.js +20 -43
  68. package/lib/percent/percent.js.map +1 -1
  69. package/lib/percent/style/css.js.map +1 -1
  70. package/lib/percent/style/index.js.map +1 -1
  71. package/lib/percent/style/index.less +41 -41
  72. package/lib/scroll/index.js +2 -6
  73. package/lib/scroll/index.js.map +1 -1
  74. package/lib/scroll/scroll.d.ts +1 -1
  75. package/lib/scroll/scroll.js +19 -47
  76. package/lib/scroll/scroll.js.map +1 -1
  77. package/lib/scroll/style/css.js.map +1 -1
  78. package/lib/scroll/style/index.js.map +1 -1
  79. package/lib/scroll/style/index.less +3 -3
  80. package/lib/scroll-select/index.js +2 -6
  81. package/lib/scroll-select/index.js.map +1 -1
  82. package/lib/scroll-select/scrollSelect.d.ts +2 -1
  83. package/lib/scroll-select/scrollSelect.js +144 -218
  84. package/lib/scroll-select/scrollSelect.js.map +1 -1
  85. package/lib/scroll-select/style/css.js +0 -2
  86. package/lib/scroll-select/style/css.js.map +1 -1
  87. package/lib/scroll-select/style/index.d.ts +0 -1
  88. package/lib/scroll-select/style/index.js +0 -2
  89. package/lib/scroll-select/style/index.js.map +1 -1
  90. package/lib/scroll-select/style/index.less +7 -7
  91. package/lib/style/color.less +1 -1
  92. package/lib/table/index.js +2 -6
  93. package/lib/table/index.js.map +1 -1
  94. package/lib/table/style/css.js +0 -2
  95. package/lib/table/style/css.js.map +1 -1
  96. package/lib/table/style/index.d.ts +0 -1
  97. package/lib/table/style/index.js +0 -2
  98. package/lib/table/style/index.js.map +1 -1
  99. package/lib/table/table.d.ts +1 -1
  100. package/lib/table/table.js +24 -56
  101. package/lib/table/table.js.map +1 -1
  102. package/lib/template/action.d.ts +3 -1
  103. package/lib/template/action.js +93 -132
  104. package/lib/template/action.js.map +1 -1
  105. package/lib/template/card-table.d.ts +7 -6
  106. package/lib/template/card-table.js +40 -82
  107. package/lib/template/card-table.js.map +1 -1
  108. package/lib/template/card.d.ts +1 -1
  109. package/lib/template/card.js +20 -38
  110. package/lib/template/card.js.map +1 -1
  111. package/lib/template/check-row.d.ts +2 -1
  112. package/lib/template/check-row.js +7 -12
  113. package/lib/template/check-row.js.map +1 -1
  114. package/lib/template/field.js +8 -24
  115. package/lib/template/field.js.map +1 -1
  116. package/lib/template/filter.d.ts +1 -2
  117. package/lib/template/filter.js +25 -63
  118. package/lib/template/filter.js.map +1 -1
  119. package/lib/template/icon.js +4 -15
  120. package/lib/template/icon.js.map +1 -1
  121. package/lib/template/index.d.ts +2 -3
  122. package/lib/template/index.js +4 -12
  123. package/lib/template/index.js.map +1 -1
  124. package/lib/template/interface.js.map +1 -1
  125. package/lib/template/renderColumnButtons.js +80 -104
  126. package/lib/template/renderColumnButtons.js.map +1 -1
  127. package/lib/template/style/action.css +3 -2
  128. package/lib/template/style/action.less +74 -71
  129. package/lib/template/style/card.css +2 -2
  130. package/lib/template/style/card.less +87 -88
  131. package/lib/template/style/check-row.less +27 -27
  132. package/lib/template/style/css.js +0 -36
  133. package/lib/template/style/css.js.map +1 -1
  134. package/lib/template/style/field.less +11 -11
  135. package/lib/template/style/filter.css +0 -29
  136. package/lib/template/style/filter.less +46 -72
  137. package/lib/template/style/icon.less +7 -7
  138. package/lib/template/style/index.css +8 -42
  139. package/lib/template/style/index.d.ts +0 -18
  140. package/lib/template/style/index.js +0 -36
  141. package/lib/template/style/index.js.map +1 -1
  142. package/lib/template/style/index.less +48 -49
  143. package/lib/template/style/table.css +0 -6
  144. package/lib/template/style/table.less +79 -91
  145. package/lib/template/table.d.ts +7 -5
  146. package/lib/template/table.js +23 -45
  147. package/lib/template/table.js.map +1 -1
  148. package/lib/template/template.d.ts +4 -4
  149. package/lib/template/template.js +134 -258
  150. package/lib/template/template.js.map +1 -1
  151. package/lib/template/toolbar.d.ts +1 -1
  152. package/lib/template/toolbar.js +57 -63
  153. package/lib/template/toolbar.js.map +1 -1
  154. package/lib/to-map/container.js +58 -112
  155. package/lib/to-map/container.js.map +1 -1
  156. package/lib/to-map/draw-area.js +14 -34
  157. package/lib/to-map/draw-area.js.map +1 -1
  158. package/lib/to-map/index.d.ts +1 -1
  159. package/lib/to-map/index.js +2 -7
  160. package/lib/to-map/index.js.map +1 -1
  161. package/lib/to-map/style/css.js +0 -2
  162. package/lib/to-map/style/css.js.map +1 -1
  163. package/lib/to-map/style/index.d.ts +0 -1
  164. package/lib/to-map/style/index.js +0 -2
  165. package/lib/to-map/style/index.js.map +1 -1
  166. package/lib/to-map/style/index.less +86 -86
  167. package/lib/to-map/to-map.js +22 -49
  168. package/lib/to-map/to-map.js.map +1 -1
  169. package/lib/upload/index.js +2 -6
  170. package/lib/upload/index.js.map +1 -1
  171. package/lib/upload/style/css.js +0 -5
  172. package/lib/upload/style/css.js.map +1 -1
  173. package/lib/upload/style/index.d.ts +0 -2
  174. package/lib/upload/style/index.js +0 -5
  175. package/lib/upload/style/index.js.map +1 -1
  176. package/lib/upload/upload.d.ts +4 -1
  177. package/lib/upload/upload.js +164 -245
  178. package/lib/upload/upload.js.map +1 -1
  179. package/lib/use-simple-res/demos/index.d.ts +2 -1
  180. package/lib/use-simple-res/demos/index.js +31 -59
  181. package/lib/use-simple-res/demos/index.js.map +1 -1
  182. package/lib/use-simple-res/index.d.ts +0 -1
  183. package/lib/use-simple-res/index.js +61 -75
  184. package/lib/use-simple-res/index.js.map +1 -1
  185. package/lib/use-simple-res/style/css.js.map +1 -1
  186. package/lib/use-simple-res/style/index.js.map +1 -1
  187. package/lib/utils/dom-util.js +8 -27
  188. package/lib/utils/dom-util.js.map +1 -1
  189. package/lib/utils/request-util.d.ts +10 -1
  190. package/lib/utils/request-util.js +170 -45
  191. package/lib/utils/request-util.js.map +1 -1
  192. package/lib/utils/string-util.d.ts +2 -0
  193. package/lib/utils/string-util.js +34 -16
  194. package/lib/utils/string-util.js.map +1 -1
  195. package/lib/view-modal/index.d.ts +0 -1
  196. package/lib/view-modal/index.js +2 -8
  197. package/lib/view-modal/index.js.map +1 -1
  198. package/lib/view-modal/style/css.js +0 -12
  199. package/lib/view-modal/style/css.js.map +1 -1
  200. package/lib/view-modal/style/index.css +3 -41
  201. package/lib/view-modal/style/index.d.ts +0 -7
  202. package/lib/view-modal/style/index.js +0 -12
  203. package/lib/view-modal/style/index.js.map +1 -1
  204. package/lib/view-modal/style/index.less +42 -57
  205. package/lib/view-modal/view-modal.d.ts +1 -1
  206. package/lib/view-modal/view-modal.js +36 -86
  207. package/lib/view-modal/view-modal.js.map +1 -1
  208. package/package.json +157 -143
  209. package/lib/style/css.js +0 -13
  210. package/lib/style/css.js.map +0 -1
  211. package/lib/style/darkGreen.css +0 -719
  212. package/lib/style/darkGreen.less +0 -482
  213. package/lib/style/index.d.ts +0 -2
  214. package/lib/style/index.js +0 -13
  215. package/lib/style/index.js.map +0 -1
  216. package/lib/template/vtx-search/index.d.ts +0 -2
  217. package/lib/template/vtx-search/index.js +0 -126
  218. package/lib/template/vtx-search/index.js.map +0 -1
  219. package/lib/template/vtx-search/style/index.css +0 -92
  220. package/lib/template/vtx-search/style/index.less +0 -92
@@ -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*/\r\n/**\r\n * @fileoverview MarkerClusterer标记聚合器用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。\r\n * 主入口类是<a href=\"symbols/BMapLib.MarkerClusterer.html\">MarkerClusterer</a>,\r\n * 基于Baidu Map API 1.2。\r\n *\r\n * @author Baidu Map Api Group\r\n * @version 1.2\r\n */\r\n\r\n/**\r\n * @namespace BMap的所有library类均放在BMapLib命名空间下\r\n */\r\nvar BMapLib = (window.BMapLib = BMapLib || {});\r\n(function () {\r\n /**\r\n * 获取一个扩展的视图范围,把上下左右都扩大一样的像素值。\r\n * @param {Map} map BMap.Map的实例化对象\r\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\r\n * @param {Number} gridSize 要扩大的像素值\r\n *\r\n * @return {BMap.Bounds} 返回扩大后的视图范围。\r\n */\r\n var getExtendedBounds = function (map, bounds, gridSize) {\r\n bounds = cutBoundsInRange(bounds);\r\n var pixelNE = map.pointToPixel(bounds.getNorthEast());\r\n var pixelSW = map.pointToPixel(bounds.getSouthWest());\r\n pixelNE.x += gridSize;\r\n pixelNE.y -= gridSize;\r\n pixelSW.x -= gridSize;\r\n pixelSW.y += gridSize;\r\n var newNE = map.pixelToPoint(pixelNE);\r\n var newSW = map.pixelToPoint(pixelSW);\r\n return new BMap.Bounds(newSW, newNE);\r\n };\r\n\r\n /**\r\n * 按照百度地图支持的世界范围对bounds进行边界处理\r\n * @param {BMap.Bounds} bounds BMap.Bounds的实例化对象\r\n *\r\n * @return {BMap.Bounds} 返回不越界的视图范围\r\n */\r\n var cutBoundsInRange = function (bounds) {\r\n var maxX = getRange(bounds.getNorthEast().lng, -180, 180);\r\n var minX = getRange(bounds.getSouthWest().lng, -180, 180);\r\n var maxY = getRange(bounds.getNorthEast().lat, -74, 74);\r\n var minY = getRange(bounds.getSouthWest().lat, -74, 74);\r\n return new BMap.Bounds(\r\n new BMap.Point(minX, minY),\r\n new BMap.Point(maxX, maxY),\r\n );\r\n };\r\n\r\n /**\r\n * 对单个值进行边界处理。\r\n * @param {Number} i 要处理的数值\r\n * @param {Number} min 下边界值\r\n * @param {Number} max 上边界值\r\n *\r\n * @return {Number} 返回不越界的数值\r\n */\r\n var getRange = function (i, mix, max) {\r\n mix && (i = Math.max(i, mix));\r\n max && (i = Math.min(i, max));\r\n return i;\r\n };\r\n\r\n /**\r\n * 判断给定的对象是否为数组\r\n * @param {Object} source 要测试的对象\r\n *\r\n * @return {Boolean} 如果是数组返回true,否则返回false\r\n */\r\n var isArray = function (source) {\r\n return '[object Array]' === Object.prototype.toString.call(source);\r\n };\r\n\r\n /**\r\n * 返回item在source中的索引位置\r\n * @param {Object} item 要测试的对象\r\n * @param {Array} source 数组\r\n *\r\n * @return {Number} 如果在数组内,返回索引,否则返回-1\r\n */\r\n var indexOf = function (item, source) {\r\n var index = -1;\r\n if (isArray(source)) {\r\n if (source.indexOf) {\r\n index = source.indexOf(item);\r\n } else {\r\n for (var i = 0, m; (m = source[i]); i++) {\r\n if (m === item) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return index;\r\n };\r\n\r\n /**\r\n *@exports MarkerClusterer as BMapLib.MarkerClusterer\r\n */\r\n var MarkerClusterer =\r\n /**\r\n * MarkerClusterer\r\n * @class 用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能\r\n * @constructor\r\n * @param {Map} map 地图的一个实例。\r\n * @param {Json Object} options 可选参数,可选项包括:<br />\r\n * markers {Array<Marker>} 要聚合的标记数组<br />\r\n * girdSize {Number} 聚合计算时网格的像素大小,默认60<br />\r\n * maxZoom {Number} 最大的聚合级别,大于该级别就不进行相应的聚合<br />\r\n * minClusterSize {Number} 最小的聚合数量,小于该数量的不能成为一个聚合,默认为2<br />\r\n * isAverangeCenter {Boolean} 聚合点的落脚位置是否是所有聚合在内点的平均值,默认为否,落脚在聚合内的第一个点<br />\r\n * styles {Array<IconStyle>} 自定义聚合后的图标风格,请参考TextIconOverlay类<br />\r\n */\r\n (BMapLib.MarkerClusterer = function (map, options) {\r\n if (!map) {\r\n return;\r\n }\r\n this._map = map;\r\n this._markers = [];\r\n this._clusters = [];\r\n\r\n var opts = options || {};\r\n this._gridSize = opts['gridSize'] || 60;\r\n this._maxZoom = opts['maxZoom'] || 18;\r\n this._minClusterSize = opts['minClusterSize'] || 2;\r\n this._isAverageCenter = false;\r\n if (opts['isAverageCenter'] != undefined) {\r\n this._isAverageCenter = opts['isAverageCenter'];\r\n }\r\n this._styles = opts['styles'] || [];\r\n\r\n var that = this;\r\n this._map.addEventListener('zoomend', function () {\r\n that._redraw();\r\n });\r\n\r\n this._map.addEventListener('moveend', function () {\r\n that._redraw();\r\n });\r\n\r\n var mkrs = opts['markers'];\r\n isArray(mkrs) && this.addMarkers(mkrs);\r\n });\r\n\r\n /**\r\n * 添加要聚合的标记数组。\r\n * @param {Array<Marker>} markers 要聚合的标记数组\r\n *\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype.addMarkers = function (markers) {\r\n for (var i = 0, len = markers.length; i < len; i++) {\r\n this._pushMarkerTo(markers[i]);\r\n }\r\n this._createClusters();\r\n };\r\n\r\n /**\r\n * 把一个标记添加到要聚合的标记数组中\r\n * @param {BMap.Marker} marker 要添加的标记\r\n *\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype._pushMarkerTo = function (marker) {\r\n var index = indexOf(marker, this._markers);\r\n if (index === -1) {\r\n marker.isInCluster = false;\r\n this._markers.push(marker); //Marker拖放后enableDragging不做变化,忽略\r\n }\r\n };\r\n\r\n /**\r\n * 添加一个聚合的标记。\r\n * @param {BMap.Marker} marker 要聚合的单个标记。\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype.addMarker = function (marker) {\r\n this._pushMarkerTo(marker);\r\n this._createClusters();\r\n };\r\n\r\n /**\r\n * 根据所给定的标记,创建聚合点,并且遍历所有聚合点\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype._createClusters = function () {\r\n var mapBounds = this._map.getBounds();\r\n var extendedBounds = getExtendedBounds(\r\n this._map,\r\n mapBounds,\r\n this._gridSize,\r\n );\r\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\r\n if (\r\n !marker.isInCluster &&\r\n extendedBounds.containsPoint(marker.getPosition())\r\n ) {\r\n this._addToClosestCluster(marker);\r\n }\r\n }\r\n\r\n var len = this._markers.length;\r\n for (var i = 0; i < len; i++) {\r\n if (this._clusters[i]) {\r\n this._clusters[i].render();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * 根据标记的位置,把它添加到最近的聚合中\r\n * @param {BMap.Marker} marker 要进行聚合的单个标记\r\n *\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype._addToClosestCluster = function (marker) {\r\n var distance = 4000000;\r\n var clusterToAddTo = null;\r\n var position = marker.getPosition();\r\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\r\n var center = cluster.getCenter();\r\n if (center) {\r\n var d = this._map.getDistance(center, marker.getPosition());\r\n if (d < distance) {\r\n distance = d;\r\n clusterToAddTo = cluster;\r\n }\r\n }\r\n }\r\n\r\n if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {\r\n clusterToAddTo.addMarker(marker);\r\n } else {\r\n var cluster = new Cluster(this);\r\n cluster.addMarker(marker);\r\n this._clusters.push(cluster);\r\n }\r\n };\r\n\r\n /**\r\n * 清除上一次的聚合的结果\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype._clearLastClusters = function () {\r\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\r\n cluster.remove();\r\n }\r\n this._clusters = []; //置空Cluster数组\r\n this._removeMarkersFromCluster(); //把Marker的cluster标记设为false\r\n };\r\n\r\n /**\r\n * 清除某个聚合中的所有标记\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype._removeMarkersFromCluster = function () {\r\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\r\n marker.isInCluster = false;\r\n }\r\n };\r\n\r\n /**\r\n * 把所有的标记从地图上清除\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype._removeMarkersFromMap = function () {\r\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\r\n marker.isInCluster = false;\r\n tmplabel = marker.getLabel();\r\n this._map.removeOverlay(marker);\r\n marker.setLabel(tmplabel);\r\n }\r\n };\r\n\r\n /**\r\n * 删除单个标记\r\n * @param {BMap.Marker} marker 需要被删除的marker\r\n *\r\n * @return {Boolean} 删除成功返回true,否则返回false\r\n */\r\n MarkerClusterer.prototype._removeMarker = function (marker) {\r\n var index = indexOf(marker, this._markers);\r\n if (index === -1) {\r\n return false;\r\n }\r\n tmplabel = marker.getLabel();\r\n this._map.removeOverlay(marker);\r\n marker.setLabel(tmplabel);\r\n this._markers.splice(index, 1);\r\n return true;\r\n };\r\n\r\n /**\r\n * 删除单个标记\r\n * @param {BMap.Marker} marker 需要被删除的marker\r\n *\r\n * @return {Boolean} 删除成功返回true,否则返回false\r\n */\r\n MarkerClusterer.prototype.removeMarker = function (marker) {\r\n var success = this._removeMarker(marker);\r\n if (success) {\r\n this._clearLastClusters();\r\n this._createClusters();\r\n }\r\n return success;\r\n };\r\n\r\n /**\r\n * 删除一组标记\r\n * @param {Array<BMap.Marker>} markers 需要被删除的marker数组\r\n *\r\n * @return {Boolean} 删除成功返回true,否则返回false\r\n */\r\n MarkerClusterer.prototype.removeMarkers = function (markers) {\r\n var success = false;\r\n for (var i = 0; i < markers.length; i++) {\r\n var r = this._removeMarker(markers[i]);\r\n success = success || r;\r\n }\r\n\r\n if (success) {\r\n this._clearLastClusters();\r\n this._createClusters();\r\n }\r\n return success;\r\n };\r\n\r\n /**\r\n * 从地图上彻底清除所有的标记\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype.clearMarkers = function () {\r\n this._clearLastClusters();\r\n this._removeMarkersFromMap();\r\n this._markers = [];\r\n };\r\n\r\n /**\r\n * 重新生成,比如改变了属性等\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype._redraw = function () {\r\n this._clearLastClusters();\r\n this._createClusters();\r\n };\r\n\r\n /**\r\n * 获取网格大小\r\n * @return {Number} 网格大小\r\n */\r\n MarkerClusterer.prototype.getGridSize = function () {\r\n return this._gridSize;\r\n };\r\n\r\n /**\r\n * 设置网格大小\r\n * @param {Number} size 网格大小\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype.setGridSize = function (size) {\r\n this._gridSize = size;\r\n this._redraw();\r\n };\r\n\r\n /**\r\n * 获取聚合的最大缩放级别。\r\n * @return {Number} 聚合的最大缩放级别。\r\n */\r\n MarkerClusterer.prototype.getMaxZoom = function () {\r\n return this._maxZoom;\r\n };\r\n\r\n /**\r\n * 设置聚合的最大缩放级别\r\n * @param {Number} maxZoom 聚合的最大缩放级别\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype.setMaxZoom = function (maxZoom) {\r\n this._maxZoom = maxZoom;\r\n this._redraw();\r\n };\r\n\r\n /**\r\n * 获取聚合的样式风格集合\r\n * @return {Array<IconStyle>} 聚合的样式风格集合\r\n */\r\n MarkerClusterer.prototype.getStyles = function () {\r\n return this._styles;\r\n };\r\n\r\n /**\r\n * 设置聚合的样式风格集合\r\n * @param {Array<IconStyle>} styles 样式风格数组\r\n * @return 无返回值\r\n */\r\n MarkerClusterer.prototype.setStyles = function (styles) {\r\n this._styles = styles;\r\n this._redraw();\r\n };\r\n\r\n /**\r\n * 获取单个聚合的最小数量。\r\n * @return {Number} 单个聚合的最小数量。\r\n */\r\n MarkerClusterer.prototype.getMinClusterSize = function () {\r\n return this._minClusterSize;\r\n };\r\n\r\n /**\r\n * 设置单个聚合的最小数量。\r\n * @param {Number} size 单个聚合的最小数量。\r\n * @return 无返回值。\r\n */\r\n MarkerClusterer.prototype.setMinClusterSize = function (size) {\r\n this._minClusterSize = size;\r\n this._redraw();\r\n };\r\n\r\n /**\r\n * 获取单个聚合的落脚点是否是聚合内所有标记的平均中心。\r\n * @return {Boolean} true或false。\r\n */\r\n MarkerClusterer.prototype.isAverageCenter = function () {\r\n return this._isAverageCenter;\r\n };\r\n\r\n /**\r\n * 获取聚合的Map实例。\r\n * @return {Map} Map的示例。\r\n */\r\n MarkerClusterer.prototype.getMap = function () {\r\n return this._map;\r\n };\r\n\r\n /**\r\n * 获取所有的标记数组。\r\n * @return {Array<Marker>} 标记数组。\r\n */\r\n MarkerClusterer.prototype.getMarkers = function () {\r\n return this._markers;\r\n };\r\n\r\n /**\r\n * 获取聚合的总数量。\r\n * @return {Number} 聚合的总数量。\r\n */\r\n MarkerClusterer.prototype.getClustersCount = function () {\r\n var count = 0;\r\n for (var i = 0, cluster; (cluster = this._clusters[i]); i++) {\r\n cluster.isReal() && count++;\r\n }\r\n return count;\r\n };\r\n\r\n /**\r\n * @ignore\r\n * Cluster\r\n * @class 表示一个聚合对象,该聚合,包含有N个标记,这N个标记组成的范围,并有予以显示在Map上的TextIconOverlay等。\r\n * @constructor\r\n * @param {MarkerClusterer} markerClusterer 一个标记聚合器示例。\r\n */\r\n function Cluster(markerClusterer) {\r\n this._markerClusterer = markerClusterer;\r\n this._map = markerClusterer.getMap();\r\n this._minClusterSize = markerClusterer.getMinClusterSize();\r\n this._isAverageCenter = markerClusterer.isAverageCenter();\r\n this._center = null; //落脚位置\r\n this._markers = []; //这个Cluster中所包含的markers\r\n this._gridBounds = null; //以中心点为准,向四边扩大gridSize个像素的范围,也即网格范围\r\n this._isReal = false; //真的是个聚合\r\n\r\n this._clusterMarker = new BMapLib.TextIconOverlay(\r\n this._center,\r\n this._markers.length,\r\n {\r\n styles: this._markerClusterer.getStyles(),\r\n },\r\n );\r\n //this._map.addOverlay(this._clusterMarker);\r\n }\r\n\r\n /**\r\n * 向该聚合添加一个标记。\r\n * @param {Marker} marker 要添加的标记。\r\n * @return 无返回值。\r\n */\r\n Cluster.prototype.addMarker = function (marker) {\r\n if (this.isMarkerInCluster(marker)) {\r\n return false;\r\n } //也可用marker.isInCluster判断,外面判断OK,这里基本不会命中\r\n\r\n if (!this._center) {\r\n this._center = marker.getPosition();\r\n this.updateGridBounds(); //\r\n } else {\r\n if (this._isAverageCenter) {\r\n var l = this._markers.length + 1;\r\n var lat =\r\n (this._center.lat * (l - 1) + marker.getPosition().lat) / l;\r\n var lng =\r\n (this._center.lng * (l - 1) + marker.getPosition().lng) / l;\r\n this._center = new BMap.Point(lng, lat);\r\n this.updateGridBounds();\r\n } //计算新的Center\r\n }\r\n\r\n marker.isInCluster = true;\r\n this._markers.push(marker);\r\n };\r\n\r\n /**\r\n * 进行dom操作\r\n * @return 无返回值\r\n */\r\n Cluster.prototype.render = function () {\r\n var len = this._markers.length;\r\n\r\n if (len < this._minClusterSize) {\r\n for (var i = 0; i < len; i++) {\r\n this._map.addOverlay(this._markers[i]);\r\n }\r\n } else {\r\n this._map.addOverlay(this._clusterMarker);\r\n this._isReal = true;\r\n this.updateClusterMarker();\r\n }\r\n };\r\n\r\n /**\r\n * 判断一个标记是否在该聚合中。\r\n * @param {Marker} marker 要判断的标记。\r\n * @return {Boolean} true或false。\r\n */\r\n Cluster.prototype.isMarkerInCluster = function (marker) {\r\n if (this._markers.indexOf) {\r\n return this._markers.indexOf(marker) != -1;\r\n } else {\r\n for (var i = 0, m; (m = this._markers[i]); i++) {\r\n if (m === marker) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n /**\r\n * 判断一个标记是否在该聚合网格范围中。\r\n * @param {Marker} marker 要判断的标记。\r\n * @return {Boolean} true或false。\r\n */\r\n Cluster.prototype.isMarkerInClusterBounds = function (marker) {\r\n return this._gridBounds.containsPoint(marker.getPosition());\r\n };\r\n\r\n Cluster.prototype.isReal = function (marker) {\r\n return this._isReal;\r\n };\r\n\r\n /**\r\n * 更新该聚合的网格范围。\r\n * @return 无返回值。\r\n */\r\n Cluster.prototype.updateGridBounds = function () {\r\n var bounds = new BMap.Bounds(this._center, this._center);\r\n this._gridBounds = getExtendedBounds(\r\n this._map,\r\n bounds,\r\n this._markerClusterer.getGridSize(),\r\n );\r\n };\r\n\r\n /**\r\n * 更新该聚合的显示样式,也即TextIconOverlay。\r\n * @return 无返回值。\r\n */\r\n Cluster.prototype.updateClusterMarker = function () {\r\n if (this._map.getZoom() > this._markerClusterer.getMaxZoom()) {\r\n this._clusterMarker && this._map.removeOverlay(this._clusterMarker);\r\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\r\n this._map.addOverlay(marker);\r\n }\r\n return;\r\n }\r\n\r\n if (this._markers.length < this._minClusterSize) {\r\n this._clusterMarker.hide();\r\n return;\r\n }\r\n\r\n this._clusterMarker.setPosition(this._center);\r\n\r\n this._clusterMarker.setText(this._markers.length);\r\n\r\n var thatMap = this._map;\r\n var thatBounds = this.getBounds();\r\n this._clusterMarker.addEventListener('click', function (event) {\r\n thatMap.setViewport(thatBounds);\r\n });\r\n };\r\n\r\n /**\r\n * 删除该聚合。\r\n * @return 无返回值。\r\n */\r\n Cluster.prototype.remove = function () {\r\n for (var i = 0, m; (m = this._markers[i]); i++) {\r\n tmplabel = this._markers[i].getLabel();\r\n this._markers[i].getMap() &&\r\n this._map.removeOverlay(this._markers[i]);\r\n this._markers[i].setLabel(tmplabel);\r\n } //清除散的标记点\r\n this._map.removeOverlay(this._clusterMarker);\r\n this._markers.length = 0;\r\n delete this._markers;\r\n };\r\n\r\n /**\r\n * 获取该聚合所包含的所有标记的最小外接矩形的范围。\r\n * @return {BMap.Bounds} 计算出的范围。\r\n */\r\n Cluster.prototype.getBounds = function () {\r\n var bounds = new BMap.Bounds(this._center, this._center);\r\n for (var i = 0, marker; (marker = this._markers[i]); i++) {\r\n bounds.extend(marker.getPosition());\r\n }\r\n return bounds;\r\n };\r\n\r\n /**\r\n * 获取该聚合的落脚点。\r\n * @return {BMap.Point} 该聚合的落脚点。\r\n */\r\n Cluster.prototype.getCenter = function () {\r\n return this._center;\r\n };\r\n})();\r\n"],"mappings":"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"}
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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","ignoreList":[]}
@@ -1,44 +1,28 @@
1
1
  "use strict";
2
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
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
- var _moment = _interopRequireDefault(require("moment"));
11
-
8
+ var _dayjs = _interopRequireDefault(require("dayjs"));
12
9
  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
-
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
22
13
  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
-
14
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
32
18
  var LuShu = function LuShu(props, ref) {
33
19
  var map = props.map,
34
- points = props.points,
35
- icon = props.icon;
36
-
20
+ points = props.points,
21
+ icon = props.icon;
37
22
  var _useState = (0, _react.useState)(),
38
- _useState2 = _slicedToArray(_useState, 2),
39
- instance = _useState2[0],
40
- setInstance = _useState2[1];
41
-
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ instance = _useState2[0],
25
+ setInstance = _useState2[1];
42
26
  (0, _react.useImperativeHandle)(ref, function () {
43
27
  return {
44
28
  lushu: instance
@@ -48,11 +32,11 @@ var LuShu = function LuShu(props, ref) {
48
32
  var path = [];
49
33
  points.forEach(function (item) {
50
34
  var lng = item.lng,
51
- lat = item.lat;
35
+ lat = item.lat;
52
36
  path.push(new window.BMap.Point(lng, lat));
53
37
  });
54
38
  var line = new window.BMap.Polyline(path);
55
- line.name = (0, _moment["default"])().valueOf();
39
+ line.name = (0, _dayjs["default"])().valueOf();
56
40
  map.addOverlay(line);
57
41
  var lushu = new window.BMapLib.LuShu(map, path, {
58
42
  landmarkPois: [],
@@ -71,8 +55,5 @@ var LuShu = function LuShu(props, ref) {
71
55
  }, [points]);
72
56
  return /*#__PURE__*/_react["default"].createElement("div", null);
73
57
  };
74
-
75
- var _default = /*#__PURE__*/(0, _react.forwardRef)(LuShu);
76
-
77
- exports["default"] = _default;
58
+ var _default = exports["default"] = /*#__PURE__*/(0, _react.forwardRef)(LuShu);
78
59
  //# sourceMappingURL=lushu.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"lushu.js","names":["_dayjs","_interopRequireDefault","require","_react","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","LuShu","props","ref","map","points","icon","_useState","useState","_useState2","instance","setInstance","useImperativeHandle","lushu","useEffect","path","forEach","item","lng","lat","window","BMap","Point","line","Polyline","dayjs","valueOf","addOverlay","BMapLib","landmarkPois","Icon","url","Size","width","height","defaultContent","enableRotation","start","stop","hideInfoWindow","removeOverlay","_marker","React","createElement","_default","exports","forwardRef"],"sources":["b-map/lushu.js"],"sourcesContent":["import dayjs from 'dayjs';\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 = dayjs().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":"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","ignoreList":[]}
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  require("./js/marker-clusterer.js");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
-
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
10
  var MarkerCluster = function MarkerCluster(props) {
15
11
  var map = props.map,
16
- markerIcon = props.markerIcon,
17
- markerClusterIcon = props.markerClusterIcon,
18
- points = props.points,
19
- onMarkerClick = props.onMarkerClick;
20
-
12
+ markerIcon = props.markerIcon,
13
+ markerClusterIcon = props.markerClusterIcon,
14
+ points = props.points,
15
+ onMarkerClick = props.onMarkerClick;
21
16
  _react["default"].useEffect(function () {
22
17
  var markers = [];
23
18
  var myIcon = new window.BMap.Icon(markerIcon.url, new window.BMap.Size(markerIcon.width, markerIcon.height));
@@ -43,10 +38,7 @@ var MarkerCluster = function MarkerCluster(props) {
43
38
  markerClusterer.clearMarkers();
44
39
  };
45
40
  }, [points]);
46
-
47
41
  return /*#__PURE__*/_react["default"].createElement("div", null);
48
42
  };
49
-
50
- var _default = MarkerCluster;
51
- exports["default"] = _default;
43
+ var _default = exports["default"] = MarkerCluster;
52
44
  //# sourceMappingURL=marker-clusterer.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"marker-clusterer.js","names":["_react","_interopRequireDefault","require","e","__esModule","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","_default","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACAA,OAAA;AAAkC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAClC,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;EAC7B,IAAQC,GAAG,GAA2DD,KAAK,CAAnEC,GAAG;IAAEC,UAAU,GAA+CF,KAAK,CAA9DE,UAAU;IAAEC,iBAAiB,GAA4BH,KAAK,CAAlDG,iBAAiB;IAAEC,MAAM,GAAoBJ,KAAK,CAA/BI,MAAM;IAAEC,aAAa,GAAKL,KAAK,CAAvBK,aAAa;EACjEC,iBAAK,CAACC,SAAS,CAAC,YAAM;IAClB,IAAMC,OAAO,GAAG,EAAE;IAClB,IAAMC,MAAM,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACC,IAAI,CAACV,UAAU,CAACW,GAAG,EAAE,IAAIH,MAAM,CAACC,IAAI,CAACG,IAAI,CAACZ,UAAU,CAACa,KAAK,EAAEb,UAAU,CAACc,MAAM,CAAC,CAAC;IAC9G,IAAIC,eAAe,GAAGC,SAAS;IAC/Bd,MAAM,CAACe,OAAO,CAAC,UAACC,IAAI,EAAK;MACrB,IAAMC,KAAK,GAAG,IAAIX,MAAM,CAACC,IAAI,CAACW,KAAK,CAACF,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACI,GAAG,CAAC;MACvD,IAAMC,MAAM,GAAG,IAAIf,MAAM,CAACC,IAAI,CAACe,MAAM,CAACL,KAAK,EAAE;QACzCM,IAAI,EAAElB;MACV,CAAC,CAAC;MACFgB,MAAM,CAACG,gBAAgB,CAAC,OAAO,EAAE,YAAM;QACnCvB,aAAa,IAAIA,aAAa,CAACe,IAAI,CAAC;MACxC,CAAC,CAAC;MACFZ,OAAO,CAACqB,IAAI,CAACJ,MAAM,CAAC;IACxB,CAAC,CAAC;IACFR,eAAe,GAAG,IAAIP,MAAM,CAACoB,OAAO,CAACC,eAAe,CAAC9B,GAAG,EAAE;MACtDO,OAAO,EAAPA,OAAO;MACPwB,MAAM,EAAE,CACJ;QACInB,GAAG,EAAEV,iBAAiB,CAACU,GAAG;QAC1BoB,IAAI,EAAE,IAAIvB,MAAM,CAACC,IAAI,CAACG,IAAI,CAACX,iBAAiB,CAACY,KAAK,EAAEZ,iBAAiB,CAACa,MAAM;MAChF,CAAC;IAET,CAAC,CAAC;IACF,OAAO,YAAM;MACTC,eAAe,CAACiB,YAAY,CAAC,CAAC;IAClC,CAAC;EACL,CAAC,EAAE,CAAC9B,MAAM,CAAC,CAAC;EACZ,oBAAOE,iBAAK,CAAC6B,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;AAC3C,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cACatC,aAAa","ignoreList":[]}
@@ -1,59 +1,37 @@
1
1
  "use strict";
2
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
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _reactDom = require("react-dom");
13
-
14
10
  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
-
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
19
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
20
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
23
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
24
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } /* eslint-disable */
42
25
  /**
43
26
  * 百度地图的Marker组件,用于在地图上标记点位
44
27
  */
45
28
  var Marker = /*#__PURE__*/function (_Component) {
46
- _inherits(Marker, _Component);
47
-
48
- var _super = _createSuper(Marker);
49
-
50
29
  function Marker() {
51
30
  _classCallCheck(this, Marker);
52
-
53
- return _super.apply(this, arguments);
31
+ return _callSuper(this, Marker, arguments);
54
32
  }
55
-
56
- _createClass(Marker, [{
33
+ _inherits(Marker, _Component);
34
+ return _createClass(Marker, [{
57
35
  key: "componentDidMount",
58
36
  value: function componentDidMount() {
59
37
  this.init();
@@ -71,12 +49,10 @@ var Marker = /*#__PURE__*/function (_Component) {
71
49
  /**
72
50
  * 在组件销毁的时候以及点位更新的时候, 需要在地图上先清空点位
73
51
  */
74
-
75
52
  }, {
76
53
  key: "destroy",
77
54
  value: function destroy() {
78
55
  var map = this.props.map;
79
-
80
56
  if (this.marker) {
81
57
  map.removeOverlay(this.marker);
82
58
  this.marker = null;
@@ -88,26 +64,24 @@ var Marker = /*#__PURE__*/function (_Component) {
88
64
  * 2. 自定义点位 -> 传入children初始化
89
65
  * 当使用自定义点位初始化的时候, 暂不支持拖拽, 但是能够使用css修改样式, 更为灵活。
90
66
  */
91
-
92
67
  }, {
93
68
  key: "init",
94
69
  value: function init() {
95
70
  this.destroy();
96
71
  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
-
72
+ zIndex = _this$props.zIndex,
73
+ icon = _this$props.icon,
74
+ map = _this$props.map,
75
+ lng = _this$props.lng,
76
+ lat = _this$props.lat,
77
+ onClick = _this$props.onClick,
78
+ onDragend = _this$props.onDragend,
79
+ children = _this$props.children,
80
+ jump = _this$props.jump,
81
+ offset = _this$props.offset;
108
82
  if (children) {
109
83
  var contentDom = document.createElement('div');
110
- (0, _reactDom.render)( /*#__PURE__*/_react["default"].createElement("div", {
84
+ (0, _reactDom.render)(/*#__PURE__*/_react["default"].createElement("div", {
111
85
  className: "eh-bmap-marker__point"
112
86
  }, children), contentDom);
113
87
  var CustomOverlay = (0, _customOverlay["default"])(window.BMap.Overlay);
@@ -121,36 +95,28 @@ var Marker = /*#__PURE__*/function (_Component) {
121
95
  } else {
122
96
  var point = new window.BMap.Point(lng, lat);
123
97
  var markerOptions = {};
124
-
125
98
  if (icon) {
126
99
  var myIcon = new window.BMap.Icon(icon.url, new window.BMap.Size(icon.width, icon.height));
127
100
  markerOptions.icon = myIcon;
128
101
  }
129
-
130
102
  if (offset) {
131
103
  var offsetSize = new window.BMap.Size(offset.width, offset.height);
132
104
  markerOptions.offset = offsetSize;
133
105
  }
134
-
135
106
  this.marker = new window.BMap.Marker(point, markerOptions);
136
-
137
107
  if (zIndex) {
138
108
  this.marker.setZIndex(zIndex);
139
109
  }
140
-
141
110
  map.addOverlay(this.marker);
142
-
143
111
  if (jump) {
144
112
  this.marker.setAnimation(window.BMAP_ANIMATION_BOUNCE);
145
113
  }
146
-
147
114
  if (onClick) {
148
115
  this.marker.addEventListener('click', function () {
149
116
  return onClick.apply(void 0, arguments);
150
117
  });
151
- } // 设置拖拽事件
152
-
153
-
118
+ }
119
+ // 设置拖拽事件
154
120
  if (onDragend) {
155
121
  var myGeo = new window.BMap.Geocoder({
156
122
  extensions_town: true
@@ -172,13 +138,9 @@ var Marker = /*#__PURE__*/function (_Component) {
172
138
  return null;
173
139
  }
174
140
  }]);
175
-
176
- return Marker;
177
141
  }(_react.Component);
178
-
179
142
  Marker.defaultProps = {
180
143
  jump: false
181
144
  };
182
- var _default = Marker;
183
- exports["default"] = _default;
145
+ var _default = exports["default"] = Marker;
184
146
  //# sourceMappingURL=marker.js.map