@vtx/ol-map 1.0.144 → 1.0.145

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 (511) hide show
  1. package/lib/_util/EventEmitter.js +78 -0
  2. package/lib/_util/EventEmitter.js.map +1 -0
  3. package/lib/_util/StyleCache.js +46 -0
  4. package/lib/_util/StyleCache.js.map +1 -0
  5. package/lib/_util/encryptParams.js +60 -0
  6. package/lib/_util/encryptParams.js.map +1 -0
  7. package/lib/_util/filterSpecialCharacters.js +90 -0
  8. package/lib/_util/filterSpecialCharacters.js.map +1 -0
  9. package/lib/_util/getComponentProps.js +14 -0
  10. package/lib/_util/getComponentProps.js.map +1 -0
  11. package/lib/_util/getCookie.js +24 -0
  12. package/lib/_util/getCookie.js.map +1 -0
  13. package/lib/_util/getDefaultMapInfo.js +50 -0
  14. package/lib/_util/getDefaultMapInfo.js.map +1 -0
  15. package/lib/_util/getSystemInfo.js +26 -0
  16. package/lib/_util/getSystemInfo.js.map +1 -0
  17. package/lib/_util/getToken.js +27 -0
  18. package/lib/_util/getToken.js.map +1 -0
  19. package/lib/_util/getUrlParam.js +15 -0
  20. package/lib/_util/getUrlParam.js.map +1 -0
  21. package/lib/_util/http.js +176 -0
  22. package/lib/_util/http.js.map +1 -0
  23. package/lib/_util/isFunction.js +10 -0
  24. package/lib/_util/isFunction.js.map +1 -0
  25. package/lib/_util/isObject.js +10 -0
  26. package/lib/_util/isObject.js.map +1 -0
  27. package/lib/_util/layer.js +152 -0
  28. package/lib/_util/layer.js.map +1 -0
  29. package/lib/_util/mapTool.js +188 -0
  30. package/lib/_util/mapTool.js.map +1 -0
  31. package/lib/_util/projzh/datum/bd-09.js +44 -0
  32. package/lib/_util/projzh/datum/bd-09.js.map +1 -0
  33. package/lib/_util/projzh/datum/gcj-02.js +72 -0
  34. package/lib/_util/projzh/datum/gcj-02.js.map +1 -0
  35. package/lib/_util/projzh/datum/index.js +14 -0
  36. package/lib/_util/projzh/datum/index.js.map +1 -0
  37. package/lib/_util/projzh/index.js +40 -0
  38. package/lib/_util/projzh/index.js.map +1 -0
  39. package/lib/_util/projzh/projection/baidu-mercator.js +74 -0
  40. package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -0
  41. package/lib/_util/projzh/projection/index.js +14 -0
  42. package/lib/_util/projzh/projection/index.js.map +1 -0
  43. package/lib/_util/projzh/projection/spherical-mercator.js +25 -0
  44. package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -0
  45. package/lib/_util/projzh/util.js +27 -0
  46. package/lib/_util/projzh/util.js.map +1 -0
  47. package/lib/_util/search.js +130 -0
  48. package/lib/_util/search.js.map +1 -0
  49. package/lib/_util/setCookie.js +15 -0
  50. package/lib/_util/setCookie.js.map +1 -0
  51. package/lib/_util/stringToFun.js +25 -0
  52. package/lib/_util/stringToFun.js.map +1 -0
  53. package/lib/_util/transform.js +169 -0
  54. package/lib/_util/transform.js.map +1 -0
  55. package/lib/_util/useColSize.js +28 -0
  56. package/lib/_util/useColSize.js.map +1 -0
  57. package/lib/_util/useInterval.js +19 -0
  58. package/lib/_util/useInterval.js.map +1 -0
  59. package/lib/_util/useSet.js +44 -0
  60. package/lib/_util/useSet.js.map +1 -0
  61. package/lib/analysis-layer/index.js +449 -0
  62. package/lib/analysis-layer/index.js.map +1 -0
  63. package/lib/analysis-layer/style/css.js +2 -0
  64. package/lib/analysis-layer/style/css.js.map +1 -0
  65. package/lib/analysis-layer/style/index.js +2 -0
  66. package/lib/analysis-layer/style/index.js.map +1 -0
  67. package/lib/assets/arrow.png +0 -0
  68. package/lib/assets/base-img-1.png +0 -0
  69. package/lib/assets/base-img-2.png +0 -0
  70. package/lib/assets/base-img-3.png +0 -0
  71. package/lib/assets/base-img-4.png +0 -0
  72. package/lib/assets/base-img-5.png +0 -0
  73. package/lib/assets/base-img-6.png +0 -0
  74. package/lib/assets/base-img.png +0 -0
  75. package/lib/assets/bz.png +0 -0
  76. package/lib/assets/img.png +0 -0
  77. package/lib/assets/kz.png +0 -0
  78. package/lib/assets/ll.png +0 -0
  79. package/lib/assets/location.png +0 -0
  80. package/lib/assets/noLocation.png +0 -0
  81. package/lib/assets/people.png +0 -0
  82. package/lib/assets/qd.png +0 -0
  83. package/lib/assets/sw.png +0 -0
  84. package/lib/assets/yl.png +0 -0
  85. package/lib/assets/zd.png +0 -0
  86. package/lib/buffer-draw/BufferDraw.js +398 -0
  87. package/lib/buffer-draw/BufferDraw.js.map +1 -0
  88. package/lib/buffer-draw/index.js +56 -0
  89. package/lib/buffer-draw/index.js.map +1 -0
  90. package/lib/buffer-draw/style/css.js +2 -0
  91. package/lib/buffer-draw/style/css.js.map +1 -0
  92. package/lib/buffer-draw/style/index.js +2 -0
  93. package/lib/buffer-draw/style/index.js.map +1 -0
  94. package/lib/circle/Circle.js +51 -0
  95. package/lib/circle/Circle.js.map +1 -0
  96. package/lib/circle/index.js +64 -0
  97. package/lib/circle/index.js.map +1 -0
  98. package/lib/circle/style/css.js +2 -0
  99. package/lib/circle/style/css.js.map +1 -0
  100. package/lib/circle/style/index.js +2 -0
  101. package/lib/circle/style/index.js.map +1 -0
  102. package/lib/config.js +12 -0
  103. package/lib/config.js.map +1 -0
  104. package/lib/convertCamelToCSS.js +23 -0
  105. package/lib/convertCamelToCSS.js.map +1 -0
  106. package/lib/dom/Dom.js +39 -0
  107. package/lib/dom/Dom.js.map +1 -0
  108. package/lib/dom/index.js +61 -0
  109. package/lib/dom/index.js.map +1 -0
  110. package/lib/dom/style/css.js +2 -0
  111. package/lib/dom/style/css.js.map +1 -0
  112. package/lib/dom/style/index.js +2 -0
  113. package/lib/dom/style/index.js.map +1 -0
  114. package/lib/events/index.js +25 -0
  115. package/lib/events/index.js.map +1 -0
  116. package/lib/feature-draw/FeatureDraw.js +230 -0
  117. package/lib/feature-draw/FeatureDraw.js.map +1 -0
  118. package/lib/feature-draw/index.js +73 -0
  119. package/lib/feature-draw/index.js.map +1 -0
  120. package/lib/feature-draw/style/css.js +2 -0
  121. package/lib/feature-draw/style/css.js.map +1 -0
  122. package/lib/feature-draw/style/index.js +2 -0
  123. package/lib/feature-draw/style/index.js.map +1 -0
  124. package/lib/feature-layer/FeatureLayer.js +1039 -0
  125. package/lib/feature-layer/FeatureLayer.js.map +1 -0
  126. package/lib/feature-layer/MyCluster.js +150 -0
  127. package/lib/feature-layer/MyCluster.js.map +1 -0
  128. package/lib/feature-layer/createFeatureCollection.js +167 -0
  129. package/lib/feature-layer/createFeatureCollection.js.map +1 -0
  130. package/lib/feature-layer/index.js +154 -0
  131. package/lib/feature-layer/index.js.map +1 -0
  132. package/lib/feature-layer/style/css.js +4 -0
  133. package/lib/feature-layer/style/css.js.map +1 -0
  134. package/lib/feature-layer/style/index.css +0 -0
  135. package/lib/feature-layer/style/index.js +4 -0
  136. package/lib/feature-layer/style/index.js.map +1 -0
  137. package/lib/feature-layer/style/index.less +0 -0
  138. package/lib/flow-line-layer/FlowLineLayer.js +197 -0
  139. package/lib/flow-line-layer/FlowLineLayer.js.map +1 -0
  140. package/lib/flow-line-layer/index.js +126 -0
  141. package/lib/flow-line-layer/index.js.map +1 -0
  142. package/lib/flow-line-layer/style/css.js +4 -0
  143. package/lib/flow-line-layer/style/css.js.map +1 -0
  144. package/lib/flow-line-layer/style/index.css +0 -0
  145. package/lib/flow-line-layer/style/index.js +4 -0
  146. package/lib/flow-line-layer/style/index.js.map +1 -0
  147. package/lib/flow-line-layer/style/index.less +0 -0
  148. package/lib/fly-line-layer/FlyLineLayer.js +217 -0
  149. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -0
  150. package/lib/fly-line-layer/index.js +108 -0
  151. package/lib/fly-line-layer/index.js.map +1 -0
  152. package/lib/fly-line-layer/style/css.js +4 -0
  153. package/lib/fly-line-layer/style/css.js.map +1 -0
  154. package/lib/fly-line-layer/style/index.css +0 -0
  155. package/lib/fly-line-layer/style/index.js +4 -0
  156. package/lib/fly-line-layer/style/index.js.map +1 -0
  157. package/lib/fly-line-layer/style/index.less +0 -0
  158. package/lib/group-layer/GroupLayer.js +132 -0
  159. package/lib/group-layer/GroupLayer.js.map +1 -0
  160. package/lib/group-layer/index.js +73 -0
  161. package/lib/group-layer/index.js.map +1 -0
  162. package/lib/group-layer/style/css.js +4 -0
  163. package/lib/group-layer/style/css.js.map +1 -0
  164. package/lib/group-layer/style/index.css +0 -0
  165. package/lib/group-layer/style/index.js +4 -0
  166. package/lib/group-layer/style/index.js.map +1 -0
  167. package/lib/group-layer/style/index.less +0 -0
  168. package/lib/heatmap-layer/HeatmapLayer.js +191 -0
  169. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -0
  170. package/lib/heatmap-layer/index.js +93 -0
  171. package/lib/heatmap-layer/index.js.map +1 -0
  172. package/lib/heatmap-layer/style/css.js +4 -0
  173. package/lib/heatmap-layer/style/css.js.map +1 -0
  174. package/lib/heatmap-layer/style/index.css +0 -0
  175. package/lib/heatmap-layer/style/index.js +4 -0
  176. package/lib/heatmap-layer/style/index.js.map +1 -0
  177. package/lib/heatmap-layer/style/index.less +0 -0
  178. package/lib/high-layer/HighLayer.js +199 -0
  179. package/lib/high-layer/HighLayer.js.map +1 -0
  180. package/lib/high-layer/index.js +44 -0
  181. package/lib/high-layer/index.js.map +1 -0
  182. package/lib/high-layer/style/css.js +2 -0
  183. package/lib/high-layer/style/css.js.map +1 -0
  184. package/lib/high-layer/style/index.js +2 -0
  185. package/lib/high-layer/style/index.js.map +1 -0
  186. package/lib/image-layer/ImageLayer.js +330 -0
  187. package/lib/image-layer/ImageLayer.js.map +1 -0
  188. package/lib/image-layer/ImageTileLayer.js +332 -0
  189. package/lib/image-layer/ImageTileLayer.js.map +1 -0
  190. package/lib/image-layer/index.js +100 -0
  191. package/lib/image-layer/index.js.map +1 -0
  192. package/lib/image-layer/style/css.js +4 -0
  193. package/lib/image-layer/style/css.js.map +1 -0
  194. package/lib/image-layer/style/index.css +0 -0
  195. package/lib/image-layer/style/index.js +4 -0
  196. package/lib/image-layer/style/index.js.map +1 -0
  197. package/lib/image-layer/style/index.less +0 -0
  198. package/lib/index.js +201 -0
  199. package/lib/index.js.map +1 -0
  200. package/lib/legend/index.js +220 -0
  201. package/lib/legend/index.js.map +1 -0
  202. package/lib/legend/style/css.js +8 -0
  203. package/lib/legend/style/css.js.map +1 -0
  204. package/lib/legend/style/index.css +74 -0
  205. package/lib/legend/style/index.js +8 -0
  206. package/lib/legend/style/index.js.map +1 -0
  207. package/lib/legend/style/index.less +73 -0
  208. package/lib/map/Analysis.js +148 -0
  209. package/lib/map/Analysis.js.map +1 -0
  210. package/lib/map/Layers.js +337 -0
  211. package/lib/map/Layers.js.map +1 -0
  212. package/lib/map/Popup.js +370 -0
  213. package/lib/map/Popup.js.map +1 -0
  214. package/lib/map/ScaleDenominator.js +68 -0
  215. package/lib/map/ScaleDenominator.js.map +1 -0
  216. package/lib/map/Test.js +144 -0
  217. package/lib/map/Test.js.map +1 -0
  218. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +163 -0
  219. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -0
  220. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +84 -0
  221. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -0
  222. package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +65 -0
  223. package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -0
  224. package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +84 -0
  225. package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -0
  226. package/lib/map/getBaseLayers/index.js +46 -0
  227. package/lib/map/getBaseLayers/index.js.map +1 -0
  228. package/lib/map/index.js +819 -0
  229. package/lib/map/index.js.map +1 -0
  230. package/lib/map/style/css.js +5 -0
  231. package/lib/map/style/css.js.map +1 -0
  232. package/lib/map/style/index.css +171 -0
  233. package/lib/map/style/index.js +5 -0
  234. package/lib/map/style/index.js.map +1 -0
  235. package/lib/map/style/index.less +152 -0
  236. package/lib/map-icon/svg/index.js +81 -0
  237. package/lib/map-icon/svg/index.js.map +1 -0
  238. package/lib/map-icon/svg/tuceng.svg.js +2 -0
  239. package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
  240. package/lib/marker/Marker.js +105 -0
  241. package/lib/marker/Marker.js.map +1 -0
  242. package/lib/marker/index.js +61 -0
  243. package/lib/marker/index.js.map +1 -0
  244. package/lib/marker/style/css.js +2 -0
  245. package/lib/marker/style/css.js.map +1 -0
  246. package/lib/marker/style/index.js +2 -0
  247. package/lib/marker/style/index.js.map +1 -0
  248. package/lib/path-line-layer/PathLineLayer.js +45 -0
  249. package/lib/path-line-layer/PathLineLayer.js.map +1 -0
  250. package/lib/path-line-layer/getPathLineStyles.js +71 -0
  251. package/lib/path-line-layer/getPathLineStyles.js.map +1 -0
  252. package/lib/path-line-layer/index.js +151 -0
  253. package/lib/path-line-layer/index.js.map +1 -0
  254. package/lib/path-line-layer/style/css.js +4 -0
  255. package/lib/path-line-layer/style/css.js.map +1 -0
  256. package/lib/path-line-layer/style/index.css +0 -0
  257. package/lib/path-line-layer/style/index.js +4 -0
  258. package/lib/path-line-layer/style/index.js.map +1 -0
  259. package/lib/path-line-layer/style/index.less +0 -0
  260. package/lib/path-play-back/PathPlayBack.js +674 -0
  261. package/lib/path-play-back/PathPlayBack.js.map +1 -0
  262. package/lib/path-play-back/index.js +75 -0
  263. package/lib/path-play-back/index.js.map +1 -0
  264. package/lib/path-play-back/style/css.js +2 -0
  265. package/lib/path-play-back/style/css.js.map +1 -0
  266. package/lib/path-play-back/style/index.js +2 -0
  267. package/lib/path-play-back/style/index.js.map +1 -0
  268. package/lib/poi-search/Location.js +62 -0
  269. package/lib/poi-search/Location.js.map +1 -0
  270. package/lib/poi-search/PoiList.js +115 -0
  271. package/lib/poi-search/PoiList.js.map +1 -0
  272. package/lib/poi-search/Search.js +207 -0
  273. package/lib/poi-search/Search.js.map +1 -0
  274. package/lib/poi-search/index.js +172 -0
  275. package/lib/poi-search/index.js.map +1 -0
  276. package/lib/poi-search/style/css.js +8 -0
  277. package/lib/poi-search/style/css.js.map +1 -0
  278. package/lib/poi-search/style/index.css +96 -0
  279. package/lib/poi-search/style/index.js +8 -0
  280. package/lib/poi-search/style/index.js.map +1 -0
  281. package/lib/poi-search/style/index.less +97 -0
  282. package/lib/point/Point.js +57 -0
  283. package/lib/point/Point.js.map +1 -0
  284. package/lib/point/index.js +61 -0
  285. package/lib/point/index.js.map +1 -0
  286. package/lib/point/style/css.js +2 -0
  287. package/lib/point/style/css.js.map +1 -0
  288. package/lib/point/style/index.js +2 -0
  289. package/lib/point/style/index.js.map +1 -0
  290. package/lib/polygon/Polygon.js +51 -0
  291. package/lib/polygon/Polygon.js.map +1 -0
  292. package/lib/polygon/index.js +61 -0
  293. package/lib/polygon/index.js.map +1 -0
  294. package/lib/polygon/style/css.js +2 -0
  295. package/lib/polygon/style/css.js.map +1 -0
  296. package/lib/polygon/style/index.js +2 -0
  297. package/lib/polygon/style/index.js.map +1 -0
  298. package/lib/polyline/Polyline.js +51 -0
  299. package/lib/polyline/Polyline.js.map +1 -0
  300. package/lib/polyline/index.js +61 -0
  301. package/lib/polyline/index.js.map +1 -0
  302. package/lib/polyline/style/css.js +2 -0
  303. package/lib/polyline/style/css.js.map +1 -0
  304. package/lib/polyline/style/index.js +2 -0
  305. package/lib/polyline/style/index.js.map +1 -0
  306. package/lib/popup/index.js +202 -0
  307. package/lib/popup/index.js.map +1 -0
  308. package/lib/popup/style/css.js +4 -0
  309. package/lib/popup/style/css.js.map +1 -0
  310. package/lib/popup/style/index.css +131 -0
  311. package/lib/popup/style/index.js +4 -0
  312. package/lib/popup/style/index.js.map +1 -0
  313. package/lib/popup/style/index.less +129 -0
  314. package/lib/provider/index.js +12 -0
  315. package/lib/provider/index.js.map +1 -0
  316. package/lib/provider/style/css.js +2 -0
  317. package/lib/provider/style/css.js.map +1 -0
  318. package/lib/provider/style/index.js +2 -0
  319. package/lib/provider/style/index.js.map +1 -0
  320. package/lib/renderer/Fill.js +37 -0
  321. package/lib/renderer/Fill.js.map +1 -0
  322. package/lib/renderer/Stroke.js +39 -0
  323. package/lib/renderer/Stroke.js.map +1 -0
  324. package/lib/renderer/index.js +137 -0
  325. package/lib/renderer/index.js.map +1 -0
  326. package/lib/renderer/style/css.js +4 -0
  327. package/lib/renderer/style/css.js.map +1 -0
  328. package/lib/renderer/style/index.css +0 -0
  329. package/lib/renderer/style/index.js +4 -0
  330. package/lib/renderer/style/index.js.map +1 -0
  331. package/lib/renderer/style/index.less +0 -0
  332. package/lib/renderer/transformRgb.js +33 -0
  333. package/lib/renderer/transformRgb.js.map +1 -0
  334. package/lib/search-map/VtxModal.js +202 -0
  335. package/lib/search-map/VtxModal.js.map +1 -0
  336. package/lib/search-map/index.js +416 -0
  337. package/lib/search-map/index.js.map +1 -0
  338. package/lib/search-map/style/css.js +6 -0
  339. package/lib/search-map/style/css.js.map +1 -0
  340. package/lib/search-map/style/index.css +73 -0
  341. package/lib/search-map/style/index.js +6 -0
  342. package/lib/search-map/style/index.js.map +1 -0
  343. package/lib/search-map/style/index.less +83 -0
  344. package/lib/search-map/style/modal.css +54 -0
  345. package/lib/search-map/style/modal.less +58 -0
  346. package/lib/style/index.css +0 -0
  347. package/lib/style/index.less +2 -0
  348. package/lib/style/themes/compact.css +0 -0
  349. package/lib/style/themes/compact.less +1 -0
  350. package/lib/style/themes/dark.css +0 -0
  351. package/lib/style/themes/dark.less +9 -0
  352. package/lib/style/themes/default.css +0 -0
  353. package/lib/style/themes/default.less +7 -0
  354. package/lib/style/themes/index.css +0 -0
  355. package/lib/style/themes/index.less +1 -0
  356. package/lib/style/themes/variable.css +0 -0
  357. package/lib/style/themes/variable.less +5 -0
  358. package/lib/tile-layer/TileLayer.js +85 -0
  359. package/lib/tile-layer/TileLayer.js.map +1 -0
  360. package/lib/tile-layer/index.js +52 -0
  361. package/lib/tile-layer/index.js.map +1 -0
  362. package/lib/tile-layer/style/css.js +4 -0
  363. package/lib/tile-layer/style/css.js.map +1 -0
  364. package/lib/tile-layer/style/index.css +0 -0
  365. package/lib/tile-layer/style/index.js +4 -0
  366. package/lib/tile-layer/style/index.js.map +1 -0
  367. package/lib/tile-layer/style/index.less +0 -0
  368. package/lib/tools/Layer/LayerService.js +182 -0
  369. package/lib/tools/Layer/LayerService.js.map +1 -0
  370. package/lib/tools/Layer/LayersCheckService.js +188 -0
  371. package/lib/tools/Layer/LayersCheckService.js.map +1 -0
  372. package/lib/tools/Layer/index.css +50 -0
  373. package/lib/tools/Layer/index.js +225 -0
  374. package/lib/tools/Layer/index.js.map +1 -0
  375. package/lib/tools/Layer/index.less +43 -0
  376. package/lib/tools/Search/index.js +295 -0
  377. package/lib/tools/Search/index.js.map +1 -0
  378. package/lib/tools/Toolbox/BoxSelect/index.js +19 -0
  379. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
  380. package/lib/tools/Toolbox/CircleSelect/index.js +19 -0
  381. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
  382. package/lib/tools/Toolbox/EagleEye/index.js +55 -0
  383. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
  384. package/lib/tools/Toolbox/MapBookmark/Bookmark.js +147 -0
  385. package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -0
  386. package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
  387. package/lib/tools/Toolbox/MapBookmark/index.js +428 -0
  388. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
  389. package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
  390. package/lib/tools/Toolbox/MapDownload/index.js +16 -0
  391. package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
  392. package/lib/tools/Toolbox/MapPrint/index.css +4 -0
  393. package/lib/tools/Toolbox/MapPrint/index.js +231 -0
  394. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
  395. package/lib/tools/Toolbox/MapPrint/index.less +4 -0
  396. package/lib/tools/Toolbox/Measure/Area/index.js +16 -0
  397. package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
  398. package/lib/tools/Toolbox/Measure/Distance/index.js +16 -0
  399. package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
  400. package/lib/tools/Toolbox/Measure/Measure.js +227 -0
  401. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
  402. package/lib/tools/Toolbox/Measure/index.js +75 -0
  403. package/lib/tools/Toolbox/Measure/index.js.map +1 -0
  404. package/lib/tools/Toolbox/PolygonSelect/index.js +19 -0
  405. package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
  406. package/lib/tools/Toolbox/ScaleLine/index.js +57 -0
  407. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
  408. package/lib/tools/Toolbox/SelectTools/index.css +103 -0
  409. package/lib/tools/Toolbox/SelectTools/index.js +776 -0
  410. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
  411. package/lib/tools/Toolbox/SelectTools/index.less +87 -0
  412. package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
  413. package/lib/tools/Toolbox/SpaceQuery/index.js +592 -0
  414. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
  415. package/lib/tools/Toolbox/SpaceQuery/index.less +16 -0
  416. package/lib/tools/Toolbox/ZoomInput/index.css +6 -0
  417. package/lib/tools/Toolbox/ZoomInput/index.js +48 -0
  418. package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -0
  419. package/lib/tools/Toolbox/ZoomInput/index.less +6 -0
  420. package/lib/tools/Toolbox/index.css +0 -0
  421. package/lib/tools/Toolbox/index.js +169 -0
  422. package/lib/tools/Toolbox/index.js.map +1 -0
  423. package/lib/tools/Toolbox/index.less +2 -0
  424. package/lib/tools/Utils/CreateOverlay.js +46 -0
  425. package/lib/tools/Utils/CreateOverlay.js.map +1 -0
  426. package/lib/tools/Utils/Draw.js +127 -0
  427. package/lib/tools/Utils/Draw.js.map +1 -0
  428. package/lib/tools/Utils/HighLayer.js +211 -0
  429. package/lib/tools/Utils/HighLayer.js.map +1 -0
  430. package/lib/tools/Utils/measure.js +246 -0
  431. package/lib/tools/Utils/measure.js.map +1 -0
  432. package/lib/tools/Utils/utils.js +263 -0
  433. package/lib/tools/Utils/utils.js.map +1 -0
  434. package/lib/tools/View/index.css +35 -0
  435. package/lib/tools/View/index.js +164 -0
  436. package/lib/tools/View/index.js.map +1 -0
  437. package/lib/tools/View/index.less +28 -0
  438. package/lib/tools/analysis-tool/index.js +111 -0
  439. package/lib/tools/analysis-tool/index.js.map +1 -0
  440. package/lib/tools/base-map-switch/index.js +148 -0
  441. package/lib/tools/base-map-switch/index.js.map +1 -0
  442. package/lib/tools/components/Chart/index.js +817 -0
  443. package/lib/tools/components/Chart/index.js.map +1 -0
  444. package/lib/tools/components/Icon/index.js +31 -0
  445. package/lib/tools/components/Icon/index.js.map +1 -0
  446. package/lib/tools/components/Info/index.css +39 -0
  447. package/lib/tools/components/Info/index.js +34 -0
  448. package/lib/tools/components/Info/index.js.map +1 -0
  449. package/lib/tools/components/Info/index.less +26 -0
  450. package/lib/tools/components/ItemWrap/index.css +43 -0
  451. package/lib/tools/components/ItemWrap/index.js +46 -0
  452. package/lib/tools/components/ItemWrap/index.js.map +1 -0
  453. package/lib/tools/components/ItemWrap/index.less +41 -0
  454. package/lib/tools/components/Modal/index.css +42 -0
  455. package/lib/tools/components/Modal/index.js +45 -0
  456. package/lib/tools/components/Modal/index.js.map +1 -0
  457. package/lib/tools/components/Modal/index.less +33 -0
  458. package/lib/tools/components/MyTabs/index.js +22 -0
  459. package/lib/tools/components/MyTabs/index.js.map +1 -0
  460. package/lib/tools/components/RequiredLabel/index.css +5 -0
  461. package/lib/tools/components/RequiredLabel/index.js +32 -0
  462. package/lib/tools/components/RequiredLabel/index.js.map +1 -0
  463. package/lib/tools/components/RequiredLabel/index.less +5 -0
  464. package/lib/tools/components/Select/index.js +32 -0
  465. package/lib/tools/components/Select/index.js.map +1 -0
  466. package/lib/tools/components/Table/assets/tableIcon.png +0 -0
  467. package/lib/tools/components/Table/index.css +10 -0
  468. package/lib/tools/components/Table/index.js +89 -0
  469. package/lib/tools/components/Table/index.js.map +1 -0
  470. package/lib/tools/components/Table/index.less +13 -0
  471. package/lib/tools/components/ToolItem/index.css +30 -0
  472. package/lib/tools/components/ToolItem/index.js +28 -0
  473. package/lib/tools/components/ToolItem/index.js.map +1 -0
  474. package/lib/tools/components/ToolItem/index.less +27 -0
  475. package/lib/tools/components/ToolsSelect/index.css +15 -0
  476. package/lib/tools/components/ToolsSelect/index.js +44 -0
  477. package/lib/tools/components/ToolsSelect/index.js.map +1 -0
  478. package/lib/tools/components/ToolsSelect/index.less +10 -0
  479. package/lib/tools/full-screen/index.js +45 -0
  480. package/lib/tools/full-screen/index.js.map +1 -0
  481. package/lib/tools/index.js +150 -0
  482. package/lib/tools/index.js.map +1 -0
  483. package/lib/tools/layer-control/index.js +169 -0
  484. package/lib/tools/layer-control/index.js.map +1 -0
  485. package/lib/tools/refresh/index.js +39 -0
  486. package/lib/tools/refresh/index.js.map +1 -0
  487. package/lib/tools/style/css.js +22 -0
  488. package/lib/tools/style/css.js.map +1 -0
  489. package/lib/tools/style/index.css +136 -0
  490. package/lib/tools/style/index.js +22 -0
  491. package/lib/tools/style/index.js.map +1 -0
  492. package/lib/tools/style/index.less +154 -0
  493. package/lib/tools-item/index.js +65 -0
  494. package/lib/tools-item/index.js.map +1 -0
  495. package/lib/use-props/index.js +14 -0
  496. package/lib/use-props/index.js.map +1 -0
  497. package/lib/use-props/style/css.js +2 -0
  498. package/lib/use-props/style/css.js.map +1 -0
  499. package/lib/use-props/style/index.js +2 -0
  500. package/lib/use-props/style/index.js.map +1 -0
  501. package/lib/wms-layer/WmsLayer.js +313 -0
  502. package/lib/wms-layer/WmsLayer.js.map +1 -0
  503. package/lib/wms-layer/index.js +97 -0
  504. package/lib/wms-layer/index.js.map +1 -0
  505. package/lib/wms-layer/style/css.js +4 -0
  506. package/lib/wms-layer/style/css.js.map +1 -0
  507. package/lib/wms-layer/style/index.css +0 -0
  508. package/lib/wms-layer/style/index.js +4 -0
  509. package/lib/wms-layer/style/index.js.map +1 -0
  510. package/lib/wms-layer/style/index.less +0 -0
  511. package/package.json +1 -1
@@ -0,0 +1,370 @@
1
+ "use strict";
2
+
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _antd = require("antd");
10
+ var _ol = require("ol");
11
+ var _layer2 = require("ol/layer");
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _layerControl = require("../tools/layer-control");
14
+ var _popup = _interopRequireDefault(require("../popup"));
15
+ require("./style");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
+ 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); }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
22
+ 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); }
23
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
24
+ 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."); }
25
+ 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; } }
26
+ 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; }
27
+ 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; } }
28
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
29
+ var ClusterTitle = function ClusterTitle(props) {
30
+ var layer = props.layer;
31
+ var name = layer.name;
32
+ var imgUrl = (0, _layerControl.getImgUrl)(layer);
33
+ return /*#__PURE__*/_react["default"].createElement("div", {
34
+ className: (0, _classnames["default"])('ol-map-popup-cluster-title')
35
+ }, /*#__PURE__*/_react["default"].createElement("img", {
36
+ src: imgUrl,
37
+ alt: "",
38
+ className: (0, _classnames["default"])('ol-map-popup-cluster-title-img')
39
+ }), /*#__PURE__*/_react["default"].createElement("span", {
40
+ className: (0, _classnames["default"])('ol-map-popup-cluster-title-text')
41
+ }, name));
42
+ };
43
+ var Cluster = function Cluster(props) {
44
+ var layer = props.layer,
45
+ features = props.features,
46
+ onFeatureClick = props.onFeatureClick,
47
+ onFitView = props.onFitView;
48
+ var labelField = layer.labelField;
49
+ return /*#__PURE__*/_react["default"].createElement("div", {
50
+ className: (0, _classnames["default"])('ol-map-popup-cluster')
51
+ }, /*#__PURE__*/_react["default"].createElement("div", {
52
+ className: (0, _classnames["default"])('ol-map-popup-cluster-header')
53
+ }, "\u5171 ", features.length, " \u4E2A\u70B9\u4F4D", /*#__PURE__*/_react["default"].createElement("a", {
54
+ onClick: onFitView
55
+ }, "\u7F29\u653E\u81F3")), /*#__PURE__*/_react["default"].createElement(_antd.Table, {
56
+ pagination: false,
57
+ size: "small",
58
+ dataSource: features,
59
+ scroll: {
60
+ y: 120
61
+ },
62
+ columns: [{
63
+ title: '名称',
64
+ dataIndex: '名称',
65
+ width: 60,
66
+ render: function render(text, record) {
67
+ return /*#__PURE__*/_react["default"].createElement("a", {
68
+ onClick: function onClick() {
69
+ return onFeatureClick(record);
70
+ }
71
+ }, record.values_[labelField]);
72
+ }
73
+ }, {
74
+ title: '操作',
75
+ dataIndex: '操作',
76
+ width: 30,
77
+ render: function render(text, record) {
78
+ return /*#__PURE__*/_react["default"].createElement("a", {
79
+ onClick: function onClick() {
80
+ return onFeatureClick(record);
81
+ }
82
+ }, "\u5B9A\u4F4D");
83
+ }
84
+ }]
85
+ }));
86
+ };
87
+ var FeatureTable = function FeatureTable(props) {
88
+ var tableData = props.tableData,
89
+ onFeatureClick = props.onFeatureClick,
90
+ onFitView = props.onFitView;
91
+ return /*#__PURE__*/_react["default"].createElement("div", {
92
+ className: (0, _classnames["default"])('ol-map-popup-cluster')
93
+ }, /*#__PURE__*/_react["default"].createElement("div", {
94
+ className: (0, _classnames["default"])('ol-map-popup-cluster-header'),
95
+ style: {
96
+ padding: '10px 0'
97
+ }
98
+ }, "\u5171 ", tableData.length, " \u4E2A\u70B9\u4F4D", /*#__PURE__*/_react["default"].createElement("a", {
99
+ onClick: onFitView
100
+ }, "\u7F29\u653E\u81F3")), /*#__PURE__*/_react["default"].createElement(_antd.Table, {
101
+ pagination: false,
102
+ size: "small",
103
+ dataSource: tableData,
104
+ scroll: {
105
+ y: 120
106
+ },
107
+ columns: [{
108
+ title: '图层',
109
+ dataIndex: 'layerName',
110
+ width: 40,
111
+ render: function render(text, record) {
112
+ return record.layer.name;
113
+ }
114
+ }, {
115
+ title: '名称',
116
+ dataIndex: 'name',
117
+ width: 60,
118
+ render: function render(text, record) {
119
+ var _record$layer;
120
+ return /*#__PURE__*/_react["default"].createElement("a", {
121
+ onClick: function onClick() {
122
+ return onFeatureClick(record);
123
+ }
124
+ }, record.feature.values_[(record === null || record === void 0 || (_record$layer = record.layer) === null || _record$layer === void 0 ? void 0 : _record$layer.labelField) || 'name'] || '-');
125
+ }
126
+ }]
127
+ }));
128
+ };
129
+ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
130
+ var _useState = (0, _react.useState)(null),
131
+ _useState2 = _slicedToArray(_useState, 2),
132
+ content = _useState2[0],
133
+ setContent = _useState2[1];
134
+ var _useState3 = (0, _react.useState)(null),
135
+ _useState4 = _slicedToArray(_useState3, 2),
136
+ title = _useState4[0],
137
+ setTitle = _useState4[1];
138
+ var overlayRef = (0, _react.useRef)();
139
+ var popupRef = (0, _react.useRef)();
140
+ var featureRef = (0, _react.useRef)();
141
+ var viewRef = (0, _react.useRef)({});
142
+ var map = props.map;
143
+ (0, _react.useImperativeHandle)(ref, function () {
144
+ return {
145
+ showTemplate: showTemplate,
146
+ hideTemplate: hideTemplate,
147
+ setLastView: setLastView
148
+ };
149
+ });
150
+ (0, _react.useEffect)(function () {
151
+ var overlay = new _ol.Overlay({
152
+ element: popupRef.current.wrapDom,
153
+ autoPan: {
154
+ animation: {
155
+ duration: 250
156
+ }
157
+ },
158
+ stopEvent: true,
159
+ positioning: 'bottom-center',
160
+ offset: [10, -45]
161
+ });
162
+ overlayRef.current = overlay;
163
+ map.addOverlay(overlay);
164
+ return function () {
165
+ map.removeOverlay(overlay);
166
+ };
167
+ }, []);
168
+ var showTemplate = function showTemplate(feature, options) {
169
+ var _feature;
170
+ var _ref = options || {},
171
+ fitViewOptions = _ref.fitViewOptions;
172
+ if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {
173
+ showTemplateByFeatures(feature, options);
174
+ return;
175
+ }
176
+ feature = Array.isArray(feature) ? feature[0] : feature;
177
+ featureRef.current = feature;
178
+ if (!feature) {
179
+ hideTemplate();
180
+ return;
181
+ }
182
+ var layer = map.getLayerByFeature(feature);
183
+ if (layer !== null && layer !== void 0 && layer.cancelPopup || (_feature = feature) !== null && _feature !== void 0 && _feature.cancelPopup) {
184
+ return;
185
+ }
186
+ map.featureRef = feature;
187
+
188
+ // 判断是否为聚合点击
189
+ var features = feature.get('features');
190
+ if (features && features.length >= 2) {
191
+ showTemplateByCluster(feature, layer, features);
192
+ return;
193
+ }
194
+
195
+ // 记录放大前的视角
196
+ if (map.autoView) {
197
+ getView();
198
+ }
199
+ map.highlightLayer.addHighlightFeature(feature, _objectSpread({
200
+ autoView: map.autoView
201
+ }, fitViewOptions));
202
+ if (!(layer !== null && layer !== void 0 && layer.template)) {
203
+ return;
204
+ }
205
+ if (layer) {
206
+ var template = layer.template;
207
+ var labelField = layer.labelField;
208
+ if (labelField) {
209
+ setTitle(feature.values_[labelField]);
210
+ }
211
+ if (template) {
212
+ var geometry = feature.getGeometry();
213
+ if (geometry.getType() == 'GeometryCollection') {
214
+ var _geometry$getGeometri;
215
+ geometry = (_geometry$getGeometri = geometry.getGeometries()) === null || _geometry$getGeometri === void 0 ? void 0 : _geometry$getGeometri[0];
216
+ }
217
+ setContent(template(feature));
218
+ var offset = layer instanceof _layer2.Image ? [10, -10] : [10, -45];
219
+ if (geometry) {
220
+ var type = geometry.getType();
221
+ var coordinate = geometry.getCoordinates();
222
+ if (['MultiLineString', 'LineString'].includes(type)) {
223
+ if (geometry.getFlatMidpoints) {
224
+ coordinate = geometry.getFlatMidpoints();
225
+ } else if (geometry.getFlatMidpoint) {
226
+ coordinate = geometry.getFlatMidpoint();
227
+ }
228
+ offset = [7, 0];
229
+ } else if (['MultiPolygon', 'Polygon'].includes(type)) {
230
+ if (geometry.getFlatInteriorPoints) {
231
+ coordinate = geometry.getFlatInteriorPoints();
232
+ } else if (geometry.getFlatInteriorPoint) {
233
+ coordinate = geometry.getFlatInteriorPoint();
234
+ }
235
+ offset = [10, 0];
236
+ }
237
+ overlayRef.current.setPosition(coordinate);
238
+ overlayRef.current.values_.offset = offset;
239
+ }
240
+ }
241
+ }
242
+ };
243
+
244
+ // 聚合点位展示
245
+ var showTemplateByCluster = function showTemplateByCluster(feature, layer, features) {
246
+ var _feature$getGeometry, _layer$_options;
247
+ var coordinate = feature === null || feature === void 0 || (_feature$getGeometry = feature.getGeometry()) === null || _feature$getGeometry === void 0 ? void 0 : _feature$getGeometry.getCoordinates();
248
+ overlayRef.current.setPosition(coordinate);
249
+ setTitle(/*#__PURE__*/_react["default"].createElement(ClusterTitle, {
250
+ layer: layer
251
+ }));
252
+
253
+ // 判断是否有自定义聚合列表模版
254
+ var Template = (layer === null || layer === void 0 || (_layer$_options = layer._options) === null || _layer$_options === void 0 || (_layer$_options = _layer$_options.cluster) === null || _layer$_options === void 0 ? void 0 : _layer$_options.template) || Cluster;
255
+ setContent(/*#__PURE__*/_react["default"].createElement(Template, {
256
+ layer: layer,
257
+ features: features,
258
+ onFitView: function onFitView() {
259
+ map.fitView(features);
260
+ hideTemplate();
261
+ },
262
+ onFeatureClick: function onFeatureClick(f) {
263
+ map.fitView(f);
264
+ showTemplate(f);
265
+ }
266
+ }));
267
+ };
268
+
269
+ // 多个点位展示
270
+ var showTemplateByFeatures = function showTemplateByFeatures(features) {
271
+ overlayRef.current.setPosition(map._clickObject.coordinate);
272
+ overlayRef.current.values_.offset = [10, -10];
273
+
274
+ // 设置新的中心点
275
+ map.getView().animate({
276
+ center: map._clickObject.coordinate,
277
+ duration: 500
278
+ });
279
+ setTitle(null);
280
+ var tableData = [];
281
+ features.map(function (feature) {
282
+ var layer = map.getLayerByFeature(feature);
283
+ // 判断是否为聚合点击
284
+ var clusterFeature = feature.get('features');
285
+ if (clusterFeature && clusterFeature.length >= 2) {
286
+ clusterFeature.map(function (f) {
287
+ tableData.push({
288
+ layer: layer,
289
+ feature: f
290
+ });
291
+ });
292
+ } else {
293
+ var _layer = map.getLayerByFeature(feature);
294
+ tableData.push({
295
+ layer: _layer,
296
+ feature: feature
297
+ });
298
+ }
299
+ });
300
+ setContent(/*#__PURE__*/_react["default"].createElement(FeatureTable, {
301
+ tableData: tableData,
302
+ onFitView: function onFitView() {
303
+ map.fitView(features);
304
+ hideTemplate();
305
+ },
306
+ onFeatureClick: function onFeatureClick(record) {
307
+ var feature = record.feature;
308
+ var layer = map.getLayerByFeature(feature);
309
+ var properties = feature.getProperties();
310
+ layer === null || layer === void 0 || layer.onClick(properties, map._clickObject);
311
+ if (layer !== null && layer !== void 0 && layer.template) {
312
+ map.fitView(feature);
313
+ showTemplate(feature);
314
+ }
315
+ }
316
+ }));
317
+ };
318
+
319
+ // 恢复上一次视角
320
+ var setLastView = function setLastView() {
321
+ // 恢复打开前的视角
322
+ if (map.autoView && map.closePopupAutoView && viewRef.current) {
323
+ var _viewRef$current = viewRef.current,
324
+ zoom = _viewRef$current.zoom,
325
+ center = _viewRef$current.center;
326
+ map.getView().animate({
327
+ zoom: zoom,
328
+ center: center
329
+ });
330
+ }
331
+ };
332
+ var hideTemplate = function hideTemplate() {
333
+ overlayRef.current.setPosition(undefined);
334
+ map.highlightLayer.clearFeatures();
335
+ setContent(null);
336
+ setTitle(null);
337
+ featureRef.current = null;
338
+ map.featureRef = null;
339
+ };
340
+ var getView = function getView() {
341
+ var view = map.getView();
342
+ var zoom = view.getZoom();
343
+ var viewParams;
344
+ if (zoom < 15) {
345
+ viewParams = {
346
+ extent: view.calculateExtent(map.getSize()),
347
+ zoom: view.getZoom(),
348
+ center: view.getCenter()
349
+ };
350
+ }
351
+ viewRef.current = viewParams;
352
+ };
353
+ var onClose = function onClose() {
354
+ // 回调事件
355
+ map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);
356
+
357
+ // 隐藏气泡
358
+ hideTemplate();
359
+
360
+ // 恢复打开前的视角
361
+ setLastView();
362
+ };
363
+ return /*#__PURE__*/_react["default"].createElement(_popup["default"], {
364
+ ref: popupRef,
365
+ title: title,
366
+ onClose: onClose
367
+ }, content);
368
+ });
369
+ var _default = exports["default"] = MapPopup;
370
+ //# sourceMappingURL=Popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer2","_classnames","_interopRequireDefault","_layerControl","_popup","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","setLastView","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_feature","_ref","fitViewOptions","hidePopupTable","showTemplateByFeatures","getLayerByFeature","cancelPopup","showTemplateByCluster","autoView","getView","highlightLayer","addHighlightFeature","template","geometry","getGeometry","getType","_geometry$getGeometri","getGeometries","Image","type","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","Template","_options","cluster","fitView","_clickObject","animate","center","clusterFeature","properties","getProperties","closePopupAutoView","_viewRef$current","zoom","undefined","clearFeatures","view","getZoom","viewParams","extent","calculateExtent","getSize","getCenter","onClose","onCloseTemplateBefore","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport { getImgUrl } from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = props => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')} />\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n );\r\n};\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div\r\n className={classnames('ol-map-popup-cluster-header')}\r\n style={{ padding: '10px 0' }}\r\n >\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name,\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name'] ||\r\n '-'}\r\n </a>\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n setLastView,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = (feature, options) => {\r\n const { fitViewOptions } = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {\r\n showTemplateByFeatures(feature, options);\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n if (layer?.cancelPopup || feature?.cancelPopup) {\r\n return;\r\n }\r\n map.featureRef = feature;\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n if (map.autoView) {\r\n getView();\r\n }\r\n\r\n map.highlightLayer.addHighlightFeature(feature, {\r\n autoView: map.autoView,\r\n ...fitViewOptions,\r\n });\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n let geometry = feature.getGeometry();\r\n if (geometry.getType() == 'GeometryCollection') {\r\n geometry = geometry.getGeometries()?.[0];\r\n }\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer} />);\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = features => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n // 设置新的中心点\r\n map.getView().animate({ center: map._clickObject.coordinate, duration: 500 });\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n // 判断是否为聚合点击\r\n const clusterFeature = feature.get('features');\r\n if (clusterFeature && clusterFeature.length >= 2) {\r\n clusterFeature.map(f => {\r\n tableData.push({\r\n layer: layer,\r\n feature: f,\r\n });\r\n });\r\n } else {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n });\r\n }\r\n });\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let { feature } = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 恢复上一次视角\r\n const setLastView = () => {\r\n // 恢复打开前的视角\r\n if (map.autoView && map.closePopupAutoView && viewRef.current) {\r\n const { zoom, center } = viewRef.current;\r\n map.getView().animate({ zoom, center });\r\n }\r\n };\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n map.featureRef = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n };\r\n }\r\n viewRef.current = viewParams;\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n setLastView();\r\n };\r\n return (\r\n <Popup ref={popupRef} title={title} onClose={onClose}>\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ require("./style");
10
+ var _useProps2 = _interopRequireDefault(require("../use-props"));
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 _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
14
+ 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."); }
15
+ 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; } }
16
+ 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; }
17
+ 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; } }
18
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // 计算视野高度的组件
19
+ var count2 = function count2(map, setHeight) {
20
+ var view = map.getView();
21
+ var resolution = view.getResolution();
22
+ var projection = view.getProjection();
23
+ if (!resolution || !projection) return;
24
+ var inchesPerMeter = 39.37;
25
+ var dpi = 90.7; // GeoServer标准DPI
26
+ // 使用投影单位计算
27
+ var units = projection.getUnits();
28
+ var scaleDenominator;
29
+ if (units === 'degrees') {
30
+ // 如果是经纬度投影,需要转换
31
+ var center = view.getCenter();
32
+ if (center) {
33
+ // 使用中心点纬度计算米/度的转换因子
34
+ var metersPerUnit = projection.getMetersPerUnit();
35
+ scaleDenominator = resolution * metersPerUnit * inchesPerMeter * dpi;
36
+ }
37
+ } else {
38
+ // 其他单位(如米)直接计算
39
+ scaleDenominator = resolution * inchesPerMeter * dpi;
40
+ }
41
+ setHeight(scaleDenominator);
42
+ };
43
+
44
+ //偏小
45
+ var Sd = function Sd() {
46
+ var _useProps = (0, _useProps2["default"])(),
47
+ map = _useProps.map;
48
+ var _useState = (0, _react.useState)(0),
49
+ _useState2 = _slicedToArray(_useState, 2),
50
+ height2 = _useState2[0],
51
+ setHeight2 = _useState2[1];
52
+ var timeRef = (0, _react.useRef)(null);
53
+ (0, _react.useEffect)(function () {
54
+ if (map) {
55
+ //监测地图zoom改变
56
+ map.getView().on('change:resolution', function () {
57
+ if (timeRef.current) {
58
+ clearTimeout(timeRef.current);
59
+ count2(map, setHeight2);
60
+ }
61
+ timeRef.current = setTimeout(function () {}, 50);
62
+ });
63
+ }
64
+ }, [map]);
65
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, height2);
66
+ };
67
+ var _default = exports["default"] = Sd;
68
+ //# sourceMappingURL=ScaleDenominator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaleDenominator.js","names":["_react","_interopRequireWildcard","require","_useProps2","_interopRequireDefault","e","__esModule","t","WeakMap","r","n","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","count2","map","setHeight","view","getView","resolution","getResolution","projection","getProjection","inchesPerMeter","dpi","units","getUnits","scaleDenominator","center","getCenter","metersPerUnit","getMetersPerUnit","Sd","_useProps","useProps","_useState","useState","_useState2","height2","setHeight2","timeRef","useRef","useEffect","on","current","clearTimeout","setTimeout","createElement","Fragment","_default","exports"],"sources":["map/ScaleDenominator.jsx"],"sourcesContent":["// 计算视野高度的组件\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport './style';\r\nimport useProps from '../use-props';\r\n\r\nconst count2 = (map, setHeight) => {\r\n const view = map.getView();\r\n const resolution = view.getResolution();\r\n const projection = view.getProjection();\r\n\r\n if (!resolution || !projection) return;\r\n const inchesPerMeter = 39.37;\r\n const dpi = 90.7; // GeoServer标准DPI\r\n // 使用投影单位计算\r\n const units = projection.getUnits();\r\n let scaleDenominator;\r\n if (units === 'degrees') {\r\n // 如果是经纬度投影,需要转换\r\n const center = view.getCenter();\r\n if (center) {\r\n // 使用中心点纬度计算米/度的转换因子\r\n const metersPerUnit = projection.getMetersPerUnit();\r\n scaleDenominator = resolution * metersPerUnit * inchesPerMeter * dpi;\r\n }\r\n } else {\r\n // 其他单位(如米)直接计算\r\n scaleDenominator = resolution * inchesPerMeter * dpi;\r\n }\r\n setHeight(scaleDenominator);\r\n};\r\n\r\n//偏小\r\nconst Sd = () => {\r\n const { map } = useProps();\r\n const [height2, setHeight2] = useState(0);\r\n const timeRef = useRef(null);\r\n useEffect(() => {\r\n if (map) {\r\n //监测地图zoom改变\r\n map.getView().on('change:resolution', function() {\r\n if (timeRef.current) {\r\n clearTimeout(timeRef.current);\r\n count2(map, setHeight2);\r\n }\r\n\r\n timeRef.current = setTimeout(() => {}, 50);\r\n });\r\n }\r\n }, [map]);\r\n return <>{height2}</>;\r\n};\r\n\r\nexport default Sd;\r\n"],"mappings":"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","ignoreList":[]}