@vtx/ol-map 2.0.0-beta.2 → 2.0.0-beta.20

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 (311) hide show
  1. package/README.md +205 -205
  2. package/lib/_util/EventEmitter.js.map +1 -1
  3. package/lib/_util/StyleCache.js.map +1 -1
  4. package/lib/_util/encryptParams.js +11 -11
  5. package/lib/_util/encryptParams.js.map +1 -1
  6. package/lib/_util/filterSpecialCharacters.js +6 -6
  7. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  8. package/lib/_util/getComponentProps.js.map +1 -1
  9. package/lib/_util/getCookie.js +4 -4
  10. package/lib/_util/getCookie.js.map +1 -1
  11. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  12. package/lib/_util/getSystemInfo.js.map +1 -1
  13. package/lib/_util/getToken.js.map +1 -1
  14. package/lib/_util/http.js +20 -20
  15. package/lib/_util/http.js.map +1 -1
  16. package/lib/_util/isFunction.js.map +1 -1
  17. package/lib/_util/isObject.js.map +1 -1
  18. package/lib/_util/layer.js +21 -21
  19. package/lib/_util/layer.js.map +1 -1
  20. package/lib/_util/mapTool.js +35 -35
  21. package/lib/_util/mapTool.js.map +1 -1
  22. package/lib/_util/projection.js +44 -0
  23. package/lib/_util/projection.js.map +1 -0
  24. package/lib/_util/projzh/datum/bd-09.js.map +1 -1
  25. package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
  26. package/lib/_util/projzh/datum/index.js.map +1 -1
  27. package/lib/_util/projzh/index.js.map +1 -1
  28. package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
  29. package/lib/_util/projzh/projection/index.js.map +1 -1
  30. package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
  31. package/lib/_util/projzh/util.js.map +1 -1
  32. package/lib/_util/search.js +39 -45
  33. package/lib/_util/search.js.map +1 -1
  34. package/lib/_util/setCookie.js +4 -4
  35. package/lib/_util/setCookie.js.map +1 -1
  36. package/lib/_util/stringToFun.js.map +1 -1
  37. package/lib/_util/transform.js.map +1 -1
  38. package/lib/_util/useColSize.js.map +1 -1
  39. package/lib/_util/useInterval.js.map +1 -1
  40. package/lib/_util/useSet.js.map +1 -1
  41. package/lib/analysis-layer/index.js +23 -23
  42. package/lib/analysis-layer/index.js.map +1 -1
  43. package/lib/arrow-flow-layer/ArrowFlowLayer.js +438 -0
  44. package/lib/arrow-flow-layer/ArrowFlowLayer.js.map +1 -0
  45. package/lib/arrow-flow-layer/index.js +140 -0
  46. package/lib/arrow-flow-layer/index.js.map +1 -0
  47. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js +87 -0
  48. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js.map +1 -0
  49. package/lib/arrow-flow-layer/style/css.js +4 -0
  50. package/lib/arrow-flow-layer/style/css.js.map +1 -0
  51. package/lib/arrow-flow-layer/style/index.css +0 -0
  52. package/lib/arrow-flow-layer/style/index.js +4 -0
  53. package/lib/arrow-flow-layer/style/index.js.map +1 -0
  54. package/lib/arrow-flow-layer/style/index.less +0 -0
  55. package/lib/buffer-draw/BufferDraw.js +4 -3
  56. package/lib/buffer-draw/BufferDraw.js.map +1 -1
  57. package/lib/buffer-draw/index.js +3 -1
  58. package/lib/buffer-draw/index.js.map +1 -1
  59. package/lib/config.js.map +1 -1
  60. package/lib/convertCamelToCSS.js.map +1 -1
  61. package/lib/dom/Dom.js.map +1 -1
  62. package/lib/dom/index.js.map +1 -1
  63. package/lib/dom-layer/index.js.map +1 -1
  64. package/lib/dom-layer/style/css.js.map +1 -1
  65. package/lib/dom-layer/style/index.js.map +1 -1
  66. package/lib/dom-layer/style/index.less +3 -3
  67. package/lib/events/index.js.map +1 -1
  68. package/lib/feature-draw/FeatureDraw.js +8 -7
  69. package/lib/feature-draw/FeatureDraw.js.map +1 -1
  70. package/lib/feature-draw/index.js +4 -1
  71. package/lib/feature-draw/index.js.map +1 -1
  72. package/lib/feature-layer/FeatureLayer.js +63 -27
  73. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  74. package/lib/feature-layer/MyCluster.js +7 -7
  75. package/lib/feature-layer/MyCluster.js.map +1 -1
  76. package/lib/feature-layer/createFeatureCollection.js +13 -13
  77. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  78. package/lib/feature-layer/index.js +3 -3
  79. package/lib/feature-layer/index.js.map +1 -1
  80. package/lib/feature-layer/style/css.js.map +1 -1
  81. package/lib/feature-layer/style/index.js.map +1 -1
  82. package/lib/flow-line-layer/FlowLineLayer.js.map +1 -1
  83. package/lib/flow-line-layer/index.js.map +1 -1
  84. package/lib/flow-line-layer/style/css.js.map +1 -1
  85. package/lib/flow-line-layer/style/index.js.map +1 -1
  86. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
  87. package/lib/fly-line-layer/index.js.map +1 -1
  88. package/lib/fly-line-layer/style/css.js.map +1 -1
  89. package/lib/fly-line-layer/style/index.js.map +1 -1
  90. package/lib/group-layer/GroupLayer.js +8 -6
  91. package/lib/group-layer/GroupLayer.js.map +1 -1
  92. package/lib/group-layer/index.js.map +1 -1
  93. package/lib/group-layer/style/css.js.map +1 -1
  94. package/lib/group-layer/style/index.js.map +1 -1
  95. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
  96. package/lib/heatmap-layer/index.js +12 -3
  97. package/lib/heatmap-layer/index.js.map +1 -1
  98. package/lib/heatmap-layer/style/css.js.map +1 -1
  99. package/lib/heatmap-layer/style/index.js.map +1 -1
  100. package/lib/high-layer/HighLayer.js +9 -7
  101. package/lib/high-layer/HighLayer.js.map +1 -1
  102. package/lib/high-layer/index.js +4 -2
  103. package/lib/high-layer/index.js.map +1 -1
  104. package/lib/image-layer/ImageLayer.js +1 -1
  105. package/lib/image-layer/ImageLayer.js.map +1 -1
  106. package/lib/image-layer/ImageTileLayer.js +1 -1
  107. package/lib/image-layer/ImageTileLayer.js.map +1 -1
  108. package/lib/image-layer/index.js.map +1 -1
  109. package/lib/image-layer/style/css.js.map +1 -1
  110. package/lib/image-layer/style/index.js.map +1 -1
  111. package/lib/index.js +7 -0
  112. package/lib/index.js.map +1 -1
  113. package/lib/legend/index.js +17 -15
  114. package/lib/legend/index.js.map +1 -1
  115. package/lib/legend/style/css.js.map +1 -1
  116. package/lib/legend/style/index.js.map +1 -1
  117. package/lib/legend/style/index.less +100 -100
  118. package/lib/map/Analysis.js.map +1 -1
  119. package/lib/map/Layers.js +11 -10
  120. package/lib/map/Layers.js.map +1 -1
  121. package/lib/map/Popup.js +16 -11
  122. package/lib/map/Popup.js.map +1 -1
  123. package/lib/map/ScaleDenominator.js.map +1 -1
  124. package/lib/map/Test.js.map +1 -1
  125. package/lib/map/defaultTextEnum.js +187 -0
  126. package/lib/map/defaultTextEnum.js.map +1 -0
  127. package/lib/map/defaultTextEnumEN.js +223 -0
  128. package/lib/map/defaultTextEnumEN.js.map +1 -0
  129. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
  130. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  131. package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
  132. package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
  133. package/lib/map/getBaseLayers/index.js.map +1 -1
  134. package/lib/map/index.js +48 -33
  135. package/lib/map/index.js.map +1 -1
  136. package/lib/map/style/css.js.map +1 -1
  137. package/lib/map/style/index.js.map +1 -1
  138. package/lib/map/style/index.less +152 -152
  139. package/lib/map-icon/svg/index.js.map +1 -1
  140. package/lib/marker/Marker.js.map +1 -1
  141. package/lib/marker/index.js.map +1 -1
  142. package/lib/path-line-layer/PathLineLayer.js.map +1 -1
  143. package/lib/path-line-layer/getPathLineStyles.js.map +1 -1
  144. package/lib/path-line-layer/index.js +3 -3
  145. package/lib/path-line-layer/index.js.map +1 -1
  146. package/lib/path-line-layer/style/css.js.map +1 -1
  147. package/lib/path-line-layer/style/index.js.map +1 -1
  148. package/lib/path-play-back/PathPlayBack.js +10 -10
  149. package/lib/path-play-back/PathPlayBack.js.map +1 -1
  150. package/lib/path-play-back/index.js +2 -2
  151. package/lib/path-play-back/index.js.map +1 -1
  152. package/lib/poi-search/Location.js.map +1 -1
  153. package/lib/poi-search/PoiList.js +18 -10
  154. package/lib/poi-search/PoiList.js.map +1 -1
  155. package/lib/poi-search/Search.js +10 -4
  156. package/lib/poi-search/Search.js.map +1 -1
  157. package/lib/poi-search/index.js +11 -5
  158. package/lib/poi-search/index.js.map +1 -1
  159. package/lib/poi-search/style/css.js.map +1 -1
  160. package/lib/poi-search/style/index.js.map +1 -1
  161. package/lib/poi-search/style/index.less +97 -97
  162. package/lib/point/Point.js.map +1 -1
  163. package/lib/point/index.js.map +1 -1
  164. package/lib/polygon/Polygon.js.map +1 -1
  165. package/lib/polygon/index.js.map +1 -1
  166. package/lib/polyline/Polyline.js.map +1 -1
  167. package/lib/polyline/index.js.map +1 -1
  168. package/lib/popup/index.js.map +1 -1
  169. package/lib/popup/style/css.js.map +1 -1
  170. package/lib/popup/style/index.js.map +1 -1
  171. package/lib/popup/style/index.less +129 -129
  172. package/lib/provider/index.js.map +1 -1
  173. package/lib/renderer/Fill.js.map +1 -1
  174. package/lib/renderer/Stroke.js.map +1 -1
  175. package/lib/renderer/index.js +2 -2
  176. package/lib/renderer/index.js.map +1 -1
  177. package/lib/renderer/style/css.js.map +1 -1
  178. package/lib/renderer/style/index.js.map +1 -1
  179. package/lib/renderer/transformRgb.js.map +1 -1
  180. package/lib/search-map/VtxModal.js +16 -9
  181. package/lib/search-map/VtxModal.js.map +1 -1
  182. package/lib/search-map/index.js +74 -19
  183. package/lib/search-map/index.js.map +1 -1
  184. package/lib/search-map/style/css.js.map +1 -1
  185. package/lib/search-map/style/index.css +16 -3
  186. package/lib/search-map/style/index.js.map +1 -1
  187. package/lib/search-map/style/index.less +96 -80
  188. package/lib/search-map/style/modal.css +14 -12
  189. package/lib/search-map/style/modal.less +66 -56
  190. package/lib/style/index.less +2 -2
  191. package/lib/style/themes/compact.less +1 -1
  192. package/lib/style/themes/dark.less +7 -7
  193. package/lib/style/themes/default.less +7 -7
  194. package/lib/style/themes/index.less +1 -1
  195. package/lib/style/themes/variable.less +5 -5
  196. package/lib/tile-layer/TileLayer.js.map +1 -1
  197. package/lib/tile-layer/index.js +4 -2
  198. package/lib/tile-layer/index.js.map +1 -1
  199. package/lib/tile-layer/style/css.js.map +1 -1
  200. package/lib/tile-layer/style/index.js.map +1 -1
  201. package/lib/tools/Layer/LayerService.js.map +1 -1
  202. package/lib/tools/Layer/LayersCheckService.js +2 -2
  203. package/lib/tools/Layer/LayersCheckService.js.map +1 -1
  204. package/lib/tools/Layer/index.js +2 -2
  205. package/lib/tools/Layer/index.js.map +1 -1
  206. package/lib/tools/Layer/index.less +43 -43
  207. package/lib/tools/Search/index.js +50 -40
  208. package/lib/tools/Search/index.js.map +1 -1
  209. package/lib/tools/Toolbox/BoxSelect/index.js +6 -3
  210. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
  211. package/lib/tools/Toolbox/CircleSelect/index.js +6 -3
  212. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
  213. package/lib/tools/Toolbox/EagleEye/index.js +5 -4
  214. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
  215. package/lib/tools/Toolbox/MapBookmark/Bookmark.js +1 -1
  216. package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
  217. package/lib/tools/Toolbox/MapBookmark/index.js +43 -42
  218. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
  219. package/lib/tools/Toolbox/MapBookmark/index.less +20 -20
  220. package/lib/tools/Toolbox/MapDownload/index.js.map +1 -1
  221. package/lib/tools/Toolbox/MapPrint/index.css +62 -3
  222. package/lib/tools/Toolbox/MapPrint/index.js +186 -31
  223. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
  224. package/lib/tools/Toolbox/MapPrint/index.less +73 -4
  225. package/lib/tools/Toolbox/MapSheetPrint/assets/lock.png +0 -0
  226. package/lib/tools/Toolbox/MapSheetPrint/index.css +25 -0
  227. package/lib/tools/Toolbox/MapSheetPrint/index.js +1640 -0
  228. package/lib/tools/Toolbox/MapSheetPrint/index.js.map +1 -0
  229. package/lib/tools/Toolbox/MapSheetPrint/index.less +34 -0
  230. package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
  231. package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
  232. package/lib/tools/Toolbox/Measure/Measure.js +24 -15
  233. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
  234. package/lib/tools/Toolbox/Measure/index.js +7 -5
  235. package/lib/tools/Toolbox/Measure/index.js.map +1 -1
  236. package/lib/tools/Toolbox/PolygonSelect/index.js +2 -2
  237. package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
  238. package/lib/tools/Toolbox/ScaleLine/index.js +3 -2
  239. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
  240. package/lib/tools/Toolbox/SelectTools/index.js +88 -76
  241. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
  242. package/lib/tools/Toolbox/SelectTools/index.less +87 -87
  243. package/lib/tools/Toolbox/SpaceQuery/index.js +56 -51
  244. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
  245. package/lib/tools/Toolbox/SpaceQuery/index.less +16 -16
  246. package/lib/tools/Toolbox/ZoomInput/index.js +4 -1
  247. package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
  248. package/lib/tools/Toolbox/ZoomInput/index.less +5 -5
  249. package/lib/tools/Toolbox/draftingPrint/index.css +26 -0
  250. package/lib/tools/Toolbox/draftingPrint/index.js +366 -0
  251. package/lib/tools/Toolbox/draftingPrint/index.js.map +1 -0
  252. package/lib/tools/Toolbox/draftingPrint/index.less +34 -0
  253. package/lib/tools/Toolbox/index.js +118 -63
  254. package/lib/tools/Toolbox/index.js.map +1 -1
  255. package/lib/tools/Toolbox/index.less +2 -2
  256. package/lib/tools/Utils/CreateOverlay.js +2 -2
  257. package/lib/tools/Utils/CreateOverlay.js.map +1 -1
  258. package/lib/tools/Utils/Draw.js +4 -4
  259. package/lib/tools/Utils/Draw.js.map +1 -1
  260. package/lib/tools/Utils/HighLayer.js +6 -5
  261. package/lib/tools/Utils/HighLayer.js.map +1 -1
  262. package/lib/tools/Utils/measure.js.map +1 -1
  263. package/lib/tools/Utils/utils.js +17 -17
  264. package/lib/tools/Utils/utils.js.map +1 -1
  265. package/lib/tools/View/index.js +58 -43
  266. package/lib/tools/View/index.js.map +1 -1
  267. package/lib/tools/View/index.less +28 -28
  268. package/lib/tools/analysis-tool/index.js.map +1 -1
  269. package/lib/tools/base-map-switch/index.js +44 -40
  270. package/lib/tools/base-map-switch/index.js.map +1 -1
  271. package/lib/tools/components/Chart/index.js +93 -89
  272. package/lib/tools/components/Chart/index.js.map +1 -1
  273. package/lib/tools/components/Icon/index.js.map +1 -1
  274. package/lib/tools/components/Info/index.js.map +1 -1
  275. package/lib/tools/components/Info/index.less +26 -26
  276. package/lib/tools/components/ItemWrap/index.js.map +1 -1
  277. package/lib/tools/components/ItemWrap/index.less +41 -41
  278. package/lib/tools/components/Modal/index.js +2 -2
  279. package/lib/tools/components/Modal/index.js.map +1 -1
  280. package/lib/tools/components/Modal/index.less +33 -33
  281. package/lib/tools/components/MyTabs/index.js.map +1 -1
  282. package/lib/tools/components/RequiredLabel/index.js.map +1 -1
  283. package/lib/tools/components/RequiredLabel/index.less +5 -5
  284. package/lib/tools/components/Select/index.js.map +1 -1
  285. package/lib/tools/components/Table/index.js +7 -4
  286. package/lib/tools/components/Table/index.js.map +1 -1
  287. package/lib/tools/components/Table/index.less +13 -13
  288. package/lib/tools/components/ToolItem/index.js.map +1 -1
  289. package/lib/tools/components/ToolItem/index.less +27 -27
  290. package/lib/tools/components/ToolsSelect/index.js.map +1 -1
  291. package/lib/tools/components/ToolsSelect/index.less +10 -10
  292. package/lib/tools/full-screen/index.js.map +1 -1
  293. package/lib/tools/index.js +52 -41
  294. package/lib/tools/index.js.map +1 -1
  295. package/lib/tools/layer-control/index.js +12 -11
  296. package/lib/tools/layer-control/index.js.map +1 -1
  297. package/lib/tools/refresh/index.js.map +1 -1
  298. package/lib/tools/style/css.js.map +1 -1
  299. package/lib/tools/style/index.js.map +1 -1
  300. package/lib/tools/style/index.less +154 -154
  301. package/lib/tools-item/index.js +2 -2
  302. package/lib/tools-item/index.js.map +1 -1
  303. package/lib/use-props/index.js.map +1 -1
  304. package/lib/wms-layer/WmsLayer.js +1 -1
  305. package/lib/wms-layer/WmsLayer.js.map +1 -1
  306. package/lib/wms-layer/index.js.map +1 -1
  307. package/lib/wms-layer/style/css.js.map +1 -1
  308. package/lib/wms-layer/style/index.js.map +1 -1
  309. package/package.json +138 -121
  310. package/lib/_util/getUrlParam.js +0 -15
  311. package/lib/_util/getUrlParam.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_antd","require","_layer","_source","_format","_geom","_Feature","_interopRequireDefault","_style2","_http","_createFeatureCollection","_getUrlParam","_getSystemInfo","_encryptParams","_interopRequireWildcard","_lodash","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","prototype","_classCallCheck","_defineProperties","enumerable","configurable","writable","_toPropertyKey","key","_createClass","ownKeys","keys","getOwnPropertySymbols","filter","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPrimitive","toPrimitive","String","Number","geoJsonFormat","GeoJSON","getWFSFeatureInfoByLayer","exports","layer","cql_filter","filterBefore","coorStr","_source$params_","_source$params_2","source","getSource","url","url_","params_","typeName","layers","_cql_filter","location","concat","CQL_FILTER","params","service","version","request","maxFeatures","outputFormat","viewparams","getUrlParam","getSystemInfo","encrypt","encryptParams","encryptParamsByUrl","http","body","then","response","_response$features","features","readFeatures","map","item","labelField","codeField","setProperties","label","title","getWFSFeatureInfoByLayers","req","v","Promise","all","flat","getWMSFeatureInfoByLayer","event","view","getView","QUERY_LAYERS","INFO_FORMAT","FEATURE_COUNT","getFeatureInfoUrl","coordinate","getResolution","getProjection","data","_data$features","getWMSFeatureInfoByLayers","_default","props","_props$fit","fit","_props$otherParams","otherParams","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","field","VectorSource","VectorLayer","zIndex","style","addLayer","layerName","selectFeature","val","clearSelectFeature","clearFeatures","isGetUrl","setUrlLayerData","cqlFilter","setLayerData","destroy","removeLayer","clear","_this","getUrlData","addFeatures","getExtent","maxZoom","duration","_this2","_ref","_data","_ref$codes","codes","_ref$fileValue","fileValue","_ref$type","type","method","post","res","result","geometryInfo","_ref2","_ref2$lngLats","lngLats","lngLat","split","includes","Feature","geometry","Point","properties","loadData","createFeatureCollection","_this3","getLayerData","_this4","paramsNew","cloneDeep","_response$features2","_features","setCenterByCode","code","getFeatures","fieldCode","feature","find","_v$get","setStyle","values_","setSelectFeature","message","warning","styleArr","_style"],"sources":["analysis-layer/index.js"],"sourcesContent":["import { message } from 'antd';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { GeoJSON } from 'ol/format';\nimport { Point } from 'ol/geom';\nimport Feature from 'ol/Feature';\nimport { Stroke, Style, Circle as CircleStyle, Fill } from 'ol/style';\nimport http from '../_util/http';\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\nimport getUrlParam from '../_util/getUrlParam';\nimport getSystemInfo from '../_util/getSystemInfo';\nimport encryptParams, { encryptParamsByUrl } from '../_util/encryptParams';\nimport { cloneDeep } from 'lodash';\nconst geoJsonFormat = new GeoJSON();\n\n/**\n * 获取图形信息\n * @param layer\n * @returns {*}\n */\nexport const getWFSFeatureInfoByLayer = (layer, cql_filter, filterBefore, coorStr) => {\n let source = layer?.getSource();\n let url = source?.url_;\n let filter = source?.params_?.cql_filter;\n let typeName = source?.params_?.layers;\n\n let _cql_filter = cql_filter;\n\n if (coorStr?.coorStr) {\n let location = layer?.location || 'geo_location';\n _cql_filter = `INTERSECTS(${location}, POLYGON((${coorStr?.coorStr})))`;\n }\n\n if (!url) return;\n let CQL_FILTER;\n if (_cql_filter && filter) {\n CQL_FILTER = `(${filter}) and ${_cql_filter}`;\n } else {\n CQL_FILTER = filter || _cql_filter || '';\n }\n\n if (filterBefore) {\n CQL_FILTER = filterBefore(CQL_FILTER, layer);\n }\n\n let params = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n typeName,\n cql_filter: CQL_FILTER,\n viewparams: `tenantId:${getUrlParam('tenantId') || getSystemInfo('tenantId') || ''}`,\n };\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n } else {\n params = encryptParamsByUrl(params);\n }\n\n return http\n .get(url, { body: { ...params } })\n .then(response => {\n let features = [];\n if (response?.features?.length) {\n features = geoJsonFormat.readFeatures(response);\n features.map(item => {\n item.key = layer?.key;\n item.name = layer?.name;\n item.labelField = layer?.labelField;\n item.codeField = layer?.codeField;\n item.setProperties({\n key: layer?.key,\n label: layer?.title || layer?.name,\n codeField: layer?.codeField,\n });\n });\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\n/**\n * 获取图形信息\n * @param layers\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\n */\nexport const getWFSFeatureInfoByLayers = (layers, cql_filter, filterBefore, coorStr) => {\n if (Array.isArray(layers)) {\n let req = [];\n layers.map(v => {\n req.push(getWFSFeatureInfoByLayer(v, cql_filter, filterBefore, coorStr));\n });\n return Promise.all(req).then(layers => {\n return layers.flat(2);\n });\n } else {\n return getWFSFeatureInfoByLayer(layers, cql_filter, filterBefore, coorStr);\n }\n};\n\n/**\n * 获取图形信息\n * @param event\n * @param map\n * @param layer\n * @returns {*}\n */\nexport const getWMSFeatureInfoByLayer = (event, map, layer) => {\n let source = layer.getSource();\n let view = map.getView();\n let params = {\n cql_filter: source.params_.cql_filter,\n QUERY_LAYERS: source.params_.layers,\n INFO_FORMAT: 'application/json',\n FEATURE_COUNT: 50,\n };\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n } else {\n params = encryptParamsByUrl(params);\n }\n\n let url = source.getFeatureInfoUrl(\n event.coordinate,\n view.getResolution(),\n view.getProjection(),\n params,\n );\n\n return http\n .get(url)\n .then(data => {\n let features = [];\n if (data?.features?.length) {\n features = geoJsonFormat.readFeatures(data);\n features.map(item => {\n item.key = layer?.key;\n });\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\n/**\n * 获取图形信息\n * @param event\n * @param map\n * @param layers\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\n */\nexport const getWMSFeatureInfoByLayers = (event, map, layers) => {\n if (Array.isArray(layers)) {\n let req = [];\n layers.map(v => {\n req.push(getWMSFeatureInfoByLayer(event, map, v));\n });\n return Promise.all(req).then(layers => {\n return layers.flat(2);\n });\n } else {\n return getWMSFeatureInfoByLayer(event, map, layers);\n }\n};\n\nexport default class {\n constructor(props) {\n const { fit = true, otherParams = {} } = props;\n this.highStyle = new Style({\n // 高亮样式\n image: new CircleStyle({\n radius: 7,\n fill: new Fill({\n color: '#ff4d4f',\n }),\n stroke: new Stroke({\n color: '#FFFFFF',\n width: 2,\n }),\n }),\n fill: new Fill({\n color: '#ff4d4f',\n }),\n stroke: new Stroke({\n color: '#ff4d4f',\n width: 4,\n }),\n });\n this.map = props.map;\n this.field = props.field;\n this.fit = fit;\n this.cql_filter = props.cql_filter || props.filter;\n this.source = new VectorSource();\n this.key = props.key;\n this.layer = new VectorLayer({\n source: this.source,\n zIndex: 9999,\n style: this.highStyle,\n ...otherParams,\n });\n this.map.addLayer(this.layer);\n\n this.url = props.url || '/geoserver/zhsw/wms';\n this.layerName = props.layerName || 'zhsw:putian_line';\n\n this.params = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n typeName: 'mumu:points',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n ...props.params,\n };\n\n this.selectFeature = null;\n }\n\n set filter(val) {\n this.clearSelectFeature();\n this.clearFeatures();\n if (val) {\n if (typeof val === 'object' && val.isGetUrl) {\n // 接口获取图层\n this.setUrlLayerData(val);\n } else {\n let cqlFilter = val;\n if (this.cql_filter) {\n cqlFilter = `${this.cql_filter} and ${val}`;\n }\n this.setLayerData({ cql_filter: cqlFilter });\n }\n }\n }\n\n destroy() {\n this.map.removeLayer(this.layer);\n }\n\n clearFeatures() {\n this.source && this.source.clear();\n }\n\n setUrlLayerData(val) {\n this.getUrlData(val).then(features => {\n if (features && features.length) {\n let view = this.map.getView();\n this.source.addFeatures(features);\n if (view) {\n view.fit(this.source.getExtent(), {\n maxZoom: 20,\n duration: 500,\n });\n }\n }\n });\n }\n\n getUrlData(req) {\n // codes 符合条件的数据变量集合,\n let { url, params, data: _data, codes = [], fileValue = 'code', type = 'point' } =\n req || {};\n let request = http.get;\n let data = params;\n if (req.method === 'POST') {\n request = http.post;\n data = _data;\n }\n return request(url, { body: { ...data } })\n .then(res => {\n let features = [];\n if (String(res?.result) && res?.data) {\n if (type === 'point') {\n res.data.map(item => {\n const { geometryInfo } = item;\n const { lngLats = '' } = geometryInfo || {};\n let lngLat = [];\n if (lngLats) {\n lngLat = lngLats.split(',');\n }\n if (lngLat[0] && lngLat[1] && codes.includes(item[fileValue])) {\n features.push(\n new Feature({\n geometry: new Point([Number(lngLat[0]), Number(lngLat[1])]),\n properties: { ...item },\n type,\n }),\n );\n }\n });\n }\n }\n features.map(v => {\n v.key = this.key;\n });\n return features;\n })\n .catch(() => []);\n }\n\n loadData(data) {\n this.clearFeatures();\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\n let features = geoJsonFormat.readFeatures(res);\n this.source.addFeatures(features);\n }\n setLayerData(params) {\n this.clearSelectFeature();\n this.clearFeatures();\n let val = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n typeName: this.layerName,\n layers: this.layerName,\n QUERY_LAYERS: this.layerName,\n cql_filter: this.cql_filter,\n ...params,\n };\n return this.getLayerData(this.url || val.url, val).then(features => {\n if (features?.length) {\n this.source.addFeatures(features);\n if (this.fit) {\n this.map.getView().fit(this.source.getExtent(), {\n maxZoom: 20,\n duration: 500,\n });\n }\n }\n\n return features;\n });\n }\n\n getLayerData(url, params) {\n let paramsNew = cloneDeep(params);\n if (this.layer.encrypt) {\n paramsNew = encryptParams(paramsNew, this.layer.encrypt);\n } else {\n paramsNew = encryptParamsByUrl(paramsNew);\n }\n return http.get(url, { body: paramsNew }).then(response => {\n let features;\n if (response?.features?.length) {\n const geoJsonFormat = new GeoJSON();\n features = geoJsonFormat.readFeatures(response);\n features?.map(v => {\n v.key = this.key;\n });\n }\n\n return features;\n });\n }\n\n setCenterByCode(code, style, field) {\n this.clearSelectFeature();\n let features = this.source.getFeatures();\n\n // 查询字段\n let fieldCode = field || this.field || 'code';\n let feature = features.find(\n v => (v.get(fieldCode) || v.get('properties')?.[fieldCode]) === code,\n );\n\n if (feature) {\n feature.setStyle();\n this.map.getView().fit(feature.values_.geometry.getExtent(), {\n maxZoom: 18,\n duration: 500,\n });\n\n this.setSelectFeature(feature, style);\n } else {\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\n }\n }\n\n clearSelectFeature() {\n if (this.selectFeature) {\n this.selectFeature.setStyle();\n this.selectFeature = null;\n }\n }\n\n setSelectFeature(feature, style) {\n if (feature) {\n let styleArr = [\n new Style({\n image: new CircleStyle({\n radius: 7,\n fill: new Fill({\n color: '#2491fc',\n }),\n stroke: new Stroke({\n color: '#FFFFFF',\n width: 2,\n }),\n }),\n fill: new Fill({\n color: '#2491fc',\n }),\n stroke: new Stroke({\n color: '#2491fc',\n width: 4,\n }),\n }),\n ];\n\n if (typeof style === 'function') {\n let _style = style(feature);\n if (Array.isArray(_style) && _style?.length) styleArr.push(..._style);\n }\n this.selectFeature = feature;\n this.selectFeature.setStyle(styleArr);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_antd","require","_layer","_source","_format","_geom","_Feature","_interopRequireDefault","_style2","_http","_createFeatureCollection","_getUrlParam","_getSystemInfo","_encryptParams","_interopRequireWildcard","_lodashEs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","prototype","_classCallCheck","_defineProperties","enumerable","configurable","writable","_toPropertyKey","key","_createClass","ownKeys","keys","getOwnPropertySymbols","filter","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPrimitive","toPrimitive","String","Number","geoJsonFormat","GeoJSON","getWFSFeatureInfoByLayer","exports","layer","cql_filter","filterBefore","coorStr","_source$params_","_source$params_2","source","getSource","url","url_","params_","typeName","layers","_cql_filter","location","concat","CQL_FILTER","params","service","version","request","maxFeatures","outputFormat","viewparams","getUrlParam","getSystemInfo","encrypt","encryptParams","encryptParamsByUrl","http","body","then","response","_response$features","features","readFeatures","map","item","labelField","codeField","setProperties","label","title","getWFSFeatureInfoByLayers","req","v","Promise","all","flat","getWMSFeatureInfoByLayer","event","view","getView","QUERY_LAYERS","INFO_FORMAT","FEATURE_COUNT","getFeatureInfoUrl","coordinate","getResolution","getProjection","data","_data$features","getWMSFeatureInfoByLayers","_default","props","_props$fit","fit","_props$otherParams","otherParams","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","field","VectorSource","VectorLayer","zIndex","style","addLayer","layerName","selectFeature","val","clearSelectFeature","clearFeatures","isGetUrl","setUrlLayerData","cqlFilter","setLayerData","destroy","removeLayer","clear","_this","getUrlData","addFeatures","getExtent","maxZoom","duration","_this2","_ref","_data","_ref$codes","codes","_ref$fileValue","fileValue","_ref$type","type","method","post","res","result","geometryInfo","_ref2","_ref2$lngLats","lngLats","lngLat","split","includes","Feature","geometry","Point","properties","loadData","createFeatureCollection","_this3","getLayerData","_this4","paramsNew","cloneDeep","_response$features2","_features","setCenterByCode","code","getFeatures","fieldCode","feature","find","_v$get","setStyle","values_","setSelectFeature","message","warning","styleArr","_style"],"sources":["analysis-layer/index.js"],"sourcesContent":["import { message } from 'antd';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport { GeoJSON } from 'ol/format';\r\nimport { Point } from 'ol/geom';\r\nimport Feature from 'ol/Feature';\r\nimport { Stroke, Style, Circle as CircleStyle, Fill } from 'ol/style';\r\nimport http from '../_util/http';\r\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam'\r\nimport getSystemInfo from '../_util/getSystemInfo';\r\nimport encryptParams, { encryptParamsByUrl } from '../_util/encryptParams';\r\nimport { cloneDeep } from 'lodash-es';\r\nconst geoJsonFormat = new GeoJSON();\r\n\r\n/**\r\n * 获取图形信息\r\n * @param layer\r\n * @returns {*}\r\n */\r\nexport const getWFSFeatureInfoByLayer = (layer, cql_filter, filterBefore, coorStr) => {\r\n let source = layer?.getSource();\r\n let url = source?.url_;\r\n let filter = source?.params_?.cql_filter;\r\n let typeName = source?.params_?.layers;\r\n\r\n let _cql_filter = cql_filter;\r\n\r\n if (coorStr?.coorStr) {\r\n let location = layer?.location || 'geo_location';\r\n _cql_filter = `INTERSECTS(${location}, POLYGON((${coorStr?.coorStr})))`;\r\n }\r\n\r\n if (!url) return;\r\n let CQL_FILTER;\r\n if (_cql_filter && filter) {\r\n CQL_FILTER = `(${filter}) and ${_cql_filter}`;\r\n } else {\r\n CQL_FILTER = filter || _cql_filter || '';\r\n }\r\n\r\n if (filterBefore) {\r\n CQL_FILTER = filterBefore(CQL_FILTER, layer);\r\n }\r\n\r\n let params = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n typeName,\r\n cql_filter: CQL_FILTER,\r\n viewparams: `tenantId:${getUrlParam('tenantId') || getSystemInfo('tenantId') || ''}`,\r\n };\r\n\r\n if (layer.encrypt) {\r\n params = encryptParams(params, layer.encrypt);\r\n } else {\r\n params = encryptParamsByUrl(params);\r\n }\r\n\r\n return http\r\n .get(url, { body: { ...params } })\r\n .then(response => {\r\n let features = [];\r\n if (response?.features?.length) {\r\n features = geoJsonFormat.readFeatures(response);\r\n features.map(item => {\r\n item.key = layer?.key;\r\n item.name = layer?.name;\r\n item.labelField = layer?.labelField;\r\n item.codeField = layer?.codeField;\r\n item.setProperties({\r\n key: layer?.key,\r\n label: layer?.title || layer?.name,\r\n codeField: layer?.codeField,\r\n });\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param layers\r\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\r\n */\r\nexport const getWFSFeatureInfoByLayers = (layers, cql_filter, filterBefore, coorStr) => {\r\n if (Array.isArray(layers)) {\r\n let req = [];\r\n layers.map(v => {\r\n req.push(getWFSFeatureInfoByLayer(v, cql_filter, filterBefore, coorStr));\r\n });\r\n return Promise.all(req).then(layers => {\r\n return layers.flat(2);\r\n });\r\n } else {\r\n return getWFSFeatureInfoByLayer(layers, cql_filter, filterBefore, coorStr);\r\n }\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param event\r\n * @param map\r\n * @param layer\r\n * @returns {*}\r\n */\r\nexport const getWMSFeatureInfoByLayer = (event, map, layer) => {\r\n let source = layer.getSource();\r\n let view = map.getView();\r\n let params = {\r\n cql_filter: source.params_.cql_filter,\r\n QUERY_LAYERS: source.params_.layers,\r\n INFO_FORMAT: 'application/json',\r\n FEATURE_COUNT: 50,\r\n };\r\n\r\n if (layer.encrypt) {\r\n params = encryptParams(params, layer.encrypt);\r\n } else {\r\n params = encryptParamsByUrl(params);\r\n }\r\n\r\n let url = source.getFeatureInfoUrl(\r\n event.coordinate,\r\n view.getResolution(),\r\n view.getProjection(),\r\n params,\r\n );\r\n\r\n return http\r\n .get(url)\r\n .then(data => {\r\n let features = [];\r\n if (data?.features?.length) {\r\n features = geoJsonFormat.readFeatures(data);\r\n features.map(item => {\r\n item.key = layer?.key;\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param event\r\n * @param map\r\n * @param layers\r\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\r\n */\r\nexport const getWMSFeatureInfoByLayers = (event, map, layers) => {\r\n if (Array.isArray(layers)) {\r\n let req = [];\r\n layers.map(v => {\r\n req.push(getWMSFeatureInfoByLayer(event, map, v));\r\n });\r\n return Promise.all(req).then(layers => {\r\n return layers.flat(2);\r\n });\r\n } else {\r\n return getWMSFeatureInfoByLayer(event, map, layers);\r\n }\r\n};\r\n\r\nexport default class {\r\n constructor(props) {\r\n const { fit = true, otherParams = {} } = props;\r\n this.highStyle = new Style({\r\n // 高亮样式\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#ff4d4f',\r\n width: 4,\r\n }),\r\n });\r\n this.map = props.map;\r\n this.field = props.field;\r\n this.fit = fit;\r\n this.cql_filter = props.cql_filter || props.filter;\r\n this.source = new VectorSource();\r\n this.key = props.key;\r\n this.layer = new VectorLayer({\r\n source: this.source,\r\n zIndex: 9999,\r\n style: this.highStyle,\r\n ...otherParams,\r\n });\r\n this.map.addLayer(this.layer);\r\n\r\n this.url = props.url || '/geoserver/zhsw/wms';\r\n this.layerName = props.layerName || 'zhsw:putian_line';\r\n\r\n this.params = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n typeName: 'mumu:points',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n ...props.params,\r\n };\r\n\r\n this.selectFeature = null;\r\n }\r\n\r\n set filter(val) {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n if (val) {\r\n if (typeof val === 'object' && val.isGetUrl) {\r\n // 接口获取图层\r\n this.setUrlLayerData(val);\r\n } else {\r\n let cqlFilter = val;\r\n if (this.cql_filter) {\r\n cqlFilter = `${this.cql_filter} and ${val}`;\r\n }\r\n this.setLayerData({ cql_filter: cqlFilter });\r\n }\r\n }\r\n }\r\n\r\n destroy() {\r\n this.map.removeLayer(this.layer);\r\n }\r\n\r\n clearFeatures() {\r\n this.source && this.source.clear();\r\n }\r\n\r\n setUrlLayerData(val) {\r\n this.getUrlData(val).then(features => {\r\n if (features && features.length) {\r\n let view = this.map.getView();\r\n this.source.addFeatures(features);\r\n if (view) {\r\n view.fit(this.source.getExtent(), {\r\n maxZoom: 20,\r\n duration: 500,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n getUrlData(req) {\r\n // codes 符合条件的数据变量集合,\r\n let { url, params, data: _data, codes = [], fileValue = 'code', type = 'point' } =\r\n req || {};\r\n let request = http.get;\r\n let data = params;\r\n if (req.method === 'POST') {\r\n request = http.post;\r\n data = _data;\r\n }\r\n return request(url, { body: { ...data } })\r\n .then(res => {\r\n let features = [];\r\n if (String(res?.result) && res?.data) {\r\n if (type === 'point') {\r\n res.data.map(item => {\r\n const { geometryInfo } = item;\r\n const { lngLats = '' } = geometryInfo || {};\r\n let lngLat = [];\r\n if (lngLats) {\r\n lngLat = lngLats.split(',');\r\n }\r\n if (lngLat[0] && lngLat[1] && codes.includes(item[fileValue])) {\r\n features.push(\r\n new Feature({\r\n geometry: new Point([Number(lngLat[0]), Number(lngLat[1])]),\r\n properties: { ...item },\r\n type,\r\n }),\r\n );\r\n }\r\n });\r\n }\r\n }\r\n features.map(v => {\r\n v.key = this.key;\r\n });\r\n return features;\r\n })\r\n .catch(() => []);\r\n }\r\n\r\n loadData(data) {\r\n this.clearFeatures();\r\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\r\n let features = geoJsonFormat.readFeatures(res);\r\n this.source.addFeatures(features);\r\n }\r\n setLayerData(params) {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n let val = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n typeName: this.layerName,\r\n layers: this.layerName,\r\n QUERY_LAYERS: this.layerName,\r\n cql_filter: this.cql_filter,\r\n ...params,\r\n };\r\n return this.getLayerData(this.url || val.url, val).then(features => {\r\n if (features?.length) {\r\n this.source.addFeatures(features);\r\n if (this.fit) {\r\n this.map.getView().fit(this.source.getExtent(), {\r\n maxZoom: 20,\r\n duration: 500,\r\n });\r\n }\r\n }\r\n\r\n return features;\r\n });\r\n }\r\n\r\n getLayerData(url, params) {\r\n let paramsNew = cloneDeep(params);\r\n if (this.layer.encrypt) {\r\n paramsNew = encryptParams(paramsNew, this.layer.encrypt);\r\n } else {\r\n paramsNew = encryptParamsByUrl(paramsNew);\r\n }\r\n return http.get(url, { body: paramsNew }).then(response => {\r\n let features;\r\n if (response?.features?.length) {\r\n const geoJsonFormat = new GeoJSON();\r\n features = geoJsonFormat.readFeatures(response);\r\n features?.map(v => {\r\n v.key = this.key;\r\n });\r\n }\r\n\r\n return features;\r\n });\r\n }\r\n\r\n setCenterByCode(code, style, field) {\r\n this.clearSelectFeature();\r\n let features = this.source.getFeatures();\r\n\r\n // 查询字段\r\n let fieldCode = field || this.field || 'code';\r\n let feature = features.find(\r\n v => (v.get(fieldCode) || v.get('properties')?.[fieldCode]) === code,\r\n );\r\n\r\n if (feature) {\r\n feature.setStyle();\r\n this.map.getView().fit(feature.values_.geometry.getExtent(), {\r\n maxZoom: 18,\r\n duration: 500,\r\n });\r\n\r\n this.setSelectFeature(feature, style);\r\n } else {\r\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\r\n }\r\n }\r\n\r\n clearSelectFeature() {\r\n if (this.selectFeature) {\r\n this.selectFeature.setStyle();\r\n this.selectFeature = null;\r\n }\r\n }\r\n\r\n setSelectFeature(feature, style) {\r\n if (feature) {\r\n let styleArr = [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#2491fc',\r\n width: 4,\r\n }),\r\n }),\r\n ];\r\n\r\n if (typeof style === 'function') {\r\n let _style = style(feature);\r\n if (Array.isArray(_style) && _style?.length) styleArr.push(..._style);\r\n }\r\n this.selectFeature = feature;\r\n this.selectFeature.setStyle(styleArr);\r\n }\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,438 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _layer = require("ol/layer");
8
+ var _source = require("ol/source");
9
+ var _Style = _interopRequireDefault(require("ol/style/Style"));
10
+ var _Stroke = _interopRequireDefault(require("ol/style/Stroke"));
11
+ var _transform = require("ol/transform");
12
+ var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
13
+ var _sampleArrowsAlongLine = require("./sampleArrowsAlongLine");
14
+ var _arrow = _interopRequireDefault(require("../assets/arrow.png"));
15
+ var _excluded = ["data", "features", "key", "name", "map", "lineStyle", "arrowStyle", "flowSpeed", "flowCycleSeconds", "minZoomForFlow", "maxArrowsPerLine", "zIndex", "show", "layerControl", "legend"];
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
+ 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); }
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 _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
22
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
23
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
24
+ 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); } }
25
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
27
+ 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); }
28
+ var defaultLineStroke = {
29
+ color: 'rgba(36, 145, 252, 0.95)',
30
+ width: 3
31
+ };
32
+
33
+ /**
34
+ * 未配置 flowCycleSeconds 时:周期(秒) = BASE_CYCLE_SEC / flowSpeed,flowSpeed 越大越快。
35
+ */
36
+ var DEFAULT_BASE_CYCLE_SEC = 6;
37
+ var DEFAULT_FLOW_SPEED = 1;
38
+
39
+ /** 流动刷新间隔(ms),整图 render 上限约 1000/此值 fps;略大更省性能 */
40
+ var DEFAULT_FLOW_RENDER_MS = 33;
41
+
42
+ /** 未传 src 时与 PathLineLayer 共用 arrow.png;src 为 null / '' 则仅用 Canvas 描边箭头 */
43
+ function resolveArrowBitmapSrc(arrowStyle) {
44
+ if (!arrowStyle) {
45
+ return _arrow["default"];
46
+ }
47
+ var s = arrowStyle.src;
48
+ if (s === null || s === '') {
49
+ return null;
50
+ }
51
+ if (s === undefined) {
52
+ return _arrow["default"];
53
+ }
54
+ return s;
55
+ }
56
+
57
+ /** Canvas 描边「>」形,圆角端点与连接,形态对齐 components/assets/arrow.png */
58
+ function drawChevronArrow(ctx, color, headLen, headWidth, lineW, strokeWidthOpt) {
59
+ var strokeW = strokeWidthOpt != null ? strokeWidthOpt : lineW >= 1.5 ? lineW : Math.max(2.25, headWidth * 0.52);
60
+ var tipX = headLen * 0.88;
61
+ var backX = -headLen * 0.38;
62
+ var wingY = headWidth * 0.52;
63
+ ctx.strokeStyle = color;
64
+ ctx.lineWidth = strokeW;
65
+ ctx.lineCap = 'round';
66
+ ctx.lineJoin = 'round';
67
+ ctx.beginPath();
68
+ ctx.moveTo(backX, -wingY);
69
+ ctx.lineTo(tipX, 0);
70
+ ctx.lineTo(backX, wingY);
71
+ ctx.stroke();
72
+ }
73
+
74
+ /**
75
+ * 轨迹箭头流动图层(组合模式,对齐 FlyLineLayer):
76
+ * 内部为标准 ol VectorLayer,避免「继承 VectorLayer」在部分环境下与 OL 渲染路径不一致;
77
+ * OL 在 replay 为空时会跳过 postRender,普通矢量线图层与 FlyLine 一致可稳定触发 postrender。
78
+ */
79
+ var ArrowFlowLayer = exports["default"] = /*#__PURE__*/function () {
80
+ function ArrowFlowLayer(options) {
81
+ var _ref, _arrowStyle$spacingPx;
82
+ _classCallCheck(this, ArrowFlowLayer);
83
+ var data = options.data,
84
+ features = options.features,
85
+ key = options.key,
86
+ name = options.name,
87
+ map = options.map,
88
+ _options$lineStyle = options.lineStyle,
89
+ lineStyle = _options$lineStyle === void 0 ? {} : _options$lineStyle,
90
+ _options$arrowStyle = options.arrowStyle,
91
+ arrowStyle = _options$arrowStyle === void 0 ? {} : _options$arrowStyle,
92
+ flowSpeedOption = options.flowSpeed,
93
+ flowCycleSecondsOption = options.flowCycleSeconds,
94
+ minZoomForFlowOption = options.minZoomForFlow,
95
+ _options$maxArrowsPer = options.maxArrowsPerLine,
96
+ maxArrowsPerLine = _options$maxArrowsPer === void 0 ? 500 : _options$maxArrowsPer,
97
+ zIndex = options.zIndex,
98
+ _options$show = options.show,
99
+ show = _options$show === void 0 ? true : _options$show,
100
+ _options$layerControl = options.layerControl,
101
+ layerControl = _options$layerControl === void 0 ? true : _options$layerControl,
102
+ legend = options.legend,
103
+ rest = _objectWithoutProperties(options, _excluded);
104
+ var source = new _source.Vector(features ? {
105
+ features: features
106
+ } : {});
107
+ this.vectorLayer = new _layer.Vector(_objectSpread(_objectSpread({}, rest), {}, {
108
+ source: source,
109
+ style: new _Style["default"]({
110
+ stroke: new _Stroke["default"](_objectSpread(_objectSpread({}, defaultLineStroke), lineStyle))
111
+ }),
112
+ zIndex: zIndex,
113
+ updateWhileAnimating: true,
114
+ updateWhileInteracting: true
115
+ }));
116
+ this.vectorLayer.key = key;
117
+ this.vectorLayer.name = name;
118
+ this.vectorLayer.layerControl = layerControl;
119
+ this.vectorLayer.legend = legend;
120
+ this.vectorLayer.show = show;
121
+ this.key = key;
122
+ this.name = name;
123
+ this.map = map;
124
+ this.layerControl = layerControl;
125
+ this.legend = legend;
126
+ this.show = show;
127
+ this._lineStyleOptions = lineStyle;
128
+ this._arrowStyle = arrowStyle;
129
+ this.maxArrowsPerLine = maxArrowsPerLine;
130
+ this.spacingPx = (_ref = (_arrowStyle$spacingPx = arrowStyle.spacingPx) !== null && _arrowStyle$spacingPx !== void 0 ? _arrowStyle$spacingPx : arrowStyle.spacing) !== null && _ref !== void 0 ? _ref : 80;
131
+ this.flowSpeed = arrowStyle.flowSpeed != null ? arrowStyle.flowSpeed : flowSpeedOption != null ? flowSpeedOption : DEFAULT_FLOW_SPEED;
132
+ this._flowPerfOrigin = null;
133
+ this.flowCycleSeconds = arrowStyle.flowCycleSeconds != null ? arrowStyle.flowCycleSeconds : flowCycleSecondsOption != null ? flowCycleSecondsOption : null;
134
+ this.flowRenderMinIntervalMs = arrowStyle.flowRenderMinIntervalMs != null ? arrowStyle.flowRenderMinIntervalMs : DEFAULT_FLOW_RENDER_MS;
135
+ this.minZoomForFlow = arrowStyle.minZoomForFlow != null ? arrowStyle.minZoomForFlow : minZoomForFlowOption != null ? minZoomForFlowOption : null;
136
+ this._flowDriverId = null;
137
+ this._onViewResolutionChange = this._syncFlowDriverToZoom.bind(this);
138
+ if (this.map) {
139
+ var view = this.map.getView();
140
+ if (view) {
141
+ view.on('change:resolution', this._onViewResolutionChange);
142
+ }
143
+ }
144
+ this._arrowImage = null;
145
+ this._arrowImageSrc = null;
146
+ this._onPostRender = this.onPostRender.bind(this);
147
+ this.vectorLayer.on('postrender', this._onPostRender);
148
+ this._loadArrowImageFromStyle(arrowStyle);
149
+ if (data) {
150
+ this.loadData(data);
151
+ }
152
+ this.vectorLayer.setVisible(show);
153
+ this._syncFlowDriverToZoom();
154
+ }
155
+
156
+ /** 当前缩放是否达到展示流动箭头的层级(未配置阈值则始终为 true) */
157
+ return _createClass(ArrowFlowLayer, [{
158
+ key: "_flowZoomSufficient",
159
+ value: function _flowZoomSufficient() {
160
+ if (this.minZoomForFlow == null) {
161
+ return true;
162
+ }
163
+ var view = this.map && this.map.getView();
164
+ if (!view) {
165
+ return true;
166
+ }
167
+ var z = view.getZoom();
168
+ if (z == null || Number.isNaN(z)) {
169
+ return true;
170
+ }
171
+ return z >= this.minZoomForFlow;
172
+ }
173
+ }, {
174
+ key: "_shouldRunFlowDriver",
175
+ value: function _shouldRunFlowDriver() {
176
+ return this.show && this.vectorLayer.getVisible() && this._flowZoomSufficient();
177
+ }
178
+ }, {
179
+ key: "_syncFlowDriverToZoom",
180
+ value: function _syncFlowDriverToZoom() {
181
+ if (this._shouldRunFlowDriver()) {
182
+ this._startFlowDriver();
183
+ } else {
184
+ this._stopFlowDriver();
185
+ if (this.map && this.show && this.vectorLayer.getVisible()) {
186
+ this.map.render();
187
+ }
188
+ }
189
+ }
190
+ }, {
191
+ key: "_startFlowDriver",
192
+ value: function _startFlowDriver() {
193
+ var _this = this;
194
+ if (this._flowDriverId != null || !this.map) {
195
+ return;
196
+ }
197
+ if (!this._shouldRunFlowDriver()) {
198
+ return;
199
+ }
200
+ if (this.vectorLayer.getVisible()) {
201
+ this.map.render();
202
+ }
203
+ this._flowDriverId = setInterval(function () {
204
+ if (!_this._shouldRunFlowDriver()) {
205
+ _this._stopFlowDriver();
206
+ if (_this.map && _this.show && _this.vectorLayer.getVisible()) {
207
+ _this.map.render();
208
+ }
209
+ return;
210
+ }
211
+ _this.map.render();
212
+ }, this.flowRenderMinIntervalMs);
213
+ }
214
+ }, {
215
+ key: "_stopFlowDriver",
216
+ value: function _stopFlowDriver() {
217
+ if (this._flowDriverId != null) {
218
+ clearInterval(this._flowDriverId);
219
+ this._flowDriverId = null;
220
+ }
221
+ }
222
+ }, {
223
+ key: "_restartFlowDriver",
224
+ value: function _restartFlowDriver() {
225
+ this._stopFlowDriver();
226
+ this._syncFlowDriverToZoom();
227
+ }
228
+ }, {
229
+ key: "getSource",
230
+ value: function getSource() {
231
+ return this.vectorLayer.getSource();
232
+ }
233
+ }, {
234
+ key: "setVisible",
235
+ value: function setVisible(value) {
236
+ this.vectorLayer.setVisible(value);
237
+ }
238
+ }, {
239
+ key: "getVisible",
240
+ value: function getVisible() {
241
+ return this.vectorLayer.getVisible();
242
+ }
243
+ }, {
244
+ key: "_loadArrowImageFromStyle",
245
+ value: function _loadArrowImageFromStyle(arrowStyle) {
246
+ var _this2 = this;
247
+ var src = resolveArrowBitmapSrc(arrowStyle || {});
248
+ if (!src) {
249
+ this._arrowImage = null;
250
+ this._arrowImageSrc = null;
251
+ return;
252
+ }
253
+ if (src === this._arrowImageSrc) {
254
+ return;
255
+ }
256
+ this._arrowImageSrc = src;
257
+ this._arrowImage = null;
258
+ var img = new Image();
259
+ img.crossOrigin = 'anonymous';
260
+ img.onload = function () {
261
+ _this2._arrowImage = img;
262
+ if (_this2.map) {
263
+ _this2.map.render();
264
+ }
265
+ };
266
+ img.onerror = function () {
267
+ _this2._arrowImage = null;
268
+ };
269
+ img.src = src;
270
+ }
271
+ }, {
272
+ key: "setShow",
273
+ value: function setShow(value) {
274
+ this.show = value;
275
+ this.vectorLayer.show = value;
276
+ this.vectorLayer.setVisible(value);
277
+ if (!value) {
278
+ this._flowPerfOrigin = null;
279
+ this._stopFlowDriver();
280
+ } else {
281
+ this._syncFlowDriverToZoom();
282
+ }
283
+ }
284
+ }, {
285
+ key: "setLineStyle",
286
+ value: function setLineStyle(lineStyle) {
287
+ this._lineStyleOptions = lineStyle || {};
288
+ this.vectorLayer.setStyle(new _Style["default"]({
289
+ stroke: new _Stroke["default"](_objectSpread(_objectSpread({}, defaultLineStroke), this._lineStyleOptions))
290
+ }));
291
+ }
292
+ }, {
293
+ key: "setArrowStyle",
294
+ value: function setArrowStyle(arrowStyle) {
295
+ this._arrowStyle = arrowStyle || {};
296
+ if (arrowStyle) {
297
+ if (arrowStyle.spacingPx != null || arrowStyle.spacing != null) {
298
+ var _ref2, _arrowStyle$spacingPx2;
299
+ this.spacingPx = (_ref2 = (_arrowStyle$spacingPx2 = arrowStyle.spacingPx) !== null && _arrowStyle$spacingPx2 !== void 0 ? _arrowStyle$spacingPx2 : arrowStyle.spacing) !== null && _ref2 !== void 0 ? _ref2 : this.spacingPx;
300
+ }
301
+ if (arrowStyle.flowSpeed != null) {
302
+ this.flowSpeed = arrowStyle.flowSpeed;
303
+ }
304
+ if (arrowStyle.flowCycleSeconds !== undefined) {
305
+ this.flowCycleSeconds = arrowStyle.flowCycleSeconds;
306
+ }
307
+ if (arrowStyle.flowRenderMinIntervalMs != null) {
308
+ this.flowRenderMinIntervalMs = arrowStyle.flowRenderMinIntervalMs;
309
+ this._restartFlowDriver();
310
+ }
311
+ if (arrowStyle.minZoomForFlow !== undefined) {
312
+ this.minZoomForFlow = arrowStyle.minZoomForFlow;
313
+ this._syncFlowDriverToZoom();
314
+ }
315
+ }
316
+ this._loadArrowImageFromStyle(arrowStyle || {});
317
+ }
318
+ }, {
319
+ key: "loadData",
320
+ value: function loadData(data) {
321
+ this.getSource().clear();
322
+ var fs = (0, _createFeatureCollection.createGeoJson)(data);
323
+ if (fs && fs.length) {
324
+ this.getSource().addFeatures(fs);
325
+ }
326
+ }
327
+ }, {
328
+ key: "loadFeatures",
329
+ value: function loadFeatures(featureList) {
330
+ this.getSource().clear();
331
+ if (featureList && featureList.length) {
332
+ this.getSource().addFeatures(featureList);
333
+ }
334
+ }
335
+ }, {
336
+ key: "onPostRender",
337
+ value: function onPostRender(event) {
338
+ var _as$headLength, _as$headWidth, _as$lineWidth;
339
+ var ctx = event.context;
340
+ if (!ctx || typeof ctx.save !== 'function') {
341
+ return;
342
+ }
343
+ if (!this.vectorLayer.getVisible()) {
344
+ return;
345
+ }
346
+ if (!this._flowZoomSufficient()) {
347
+ return;
348
+ }
349
+ var frameState = event.frameState;
350
+ if (!frameState || !frameState.viewState) {
351
+ return;
352
+ }
353
+ var resolution = frameState.viewState.resolution;
354
+ var extent = frameState.extent;
355
+ var stepWorld = this.spacingPx * resolution;
356
+ if (stepWorld <= 0) {
357
+ return;
358
+ }
359
+ if (this._flowPerfOrigin == null) {
360
+ this._flowPerfOrigin = performance.now();
361
+ }
362
+ var elapsedMs = performance.now() - this._flowPerfOrigin;
363
+ var cycleSec;
364
+ if (this.flowCycleSeconds != null && this.flowCycleSeconds > 0) {
365
+ cycleSec = this.flowCycleSeconds;
366
+ } else {
367
+ cycleSec = DEFAULT_BASE_CYCLE_SEC / Math.max(0.05, this.flowSpeed);
368
+ }
369
+ var phase = elapsedMs / 1000 % cycleSec / cycleSec * stepWorld;
370
+ var transform = (0, _transform.multiply)(event.inversePixelTransform.slice(), frameState.coordinateToPixelTransform.slice());
371
+ var as = this._arrowStyle || {};
372
+ var color = as.color || '#ffffff';
373
+ var headLen = (_as$headLength = as.headLength) !== null && _as$headLength !== void 0 ? _as$headLength : 10;
374
+ var headWidth = (_as$headWidth = as.headWidth) !== null && _as$headWidth !== void 0 ? _as$headWidth : 7;
375
+ var lineW = (_as$lineWidth = as.lineWidth) !== null && _as$lineWidth !== void 0 ? _as$lineWidth : 1;
376
+ var strokeWidth = as.strokeWidth;
377
+ var opacity = as.opacity != null ? as.opacity : 1;
378
+ var bitmapSrc = resolveArrowBitmapSrc(as);
379
+ var imgScale = as.scale != null ? as.scale : 1;
380
+ var imgWidth = as.imgWidth;
381
+ var imgHeight = as.imgHeight;
382
+ ctx.save();
383
+ ctx.globalAlpha = opacity;
384
+ var features = this.getSource().getFeatures();
385
+ for (var fi = 0; fi < features.length; fi++) {
386
+ var geom = features[fi].getGeometry();
387
+ var lines = (0, _sampleArrowsAlongLine.flattenLineStrings)(geom);
388
+ for (var li = 0; li < lines.length; li++) {
389
+ var line = lines[li];
390
+ var samples = (0, _sampleArrowsAlongLine.sampleArrowsForLineString)(line, extent, {
391
+ stepWorld: stepWorld,
392
+ phase: phase,
393
+ maxArrows: this.maxArrowsPerLine
394
+ });
395
+ for (var si = 0; si < samples.length; si++) {
396
+ var s = samples[si];
397
+ var angle = (0, _sampleArrowsAlongLine.getPixelAngle)(transform, s.c0, s.c1);
398
+ var pt = s.coord.slice();
399
+ (0, _transform.apply)(transform, pt);
400
+ var x = pt[0];
401
+ var y = pt[1];
402
+ if (bitmapSrc && this._arrowImage && this._arrowImage.complete) {
403
+ var w = (imgWidth || this._arrowImage.width) * imgScale;
404
+ var h = (imgHeight || this._arrowImage.height) * imgScale;
405
+ ctx.save();
406
+ ctx.translate(x, y);
407
+ ctx.rotate(angle);
408
+ ctx.drawImage(this._arrowImage, -w / 2, -h / 2, w, h);
409
+ ctx.restore();
410
+ } else if (!bitmapSrc) {
411
+ ctx.save();
412
+ ctx.translate(x, y);
413
+ ctx.rotate(angle);
414
+ drawChevronArrow(ctx, color, headLen, headWidth, lineW, strokeWidth);
415
+ ctx.restore();
416
+ }
417
+ }
418
+ }
419
+ }
420
+ ctx.restore();
421
+ // 不在此处 map.render():会与定时器叠加重绘整图。由 _startFlowDriver 按 flowRenderMinIntervalMs 触发 render。
422
+ }
423
+ }, {
424
+ key: "destroy",
425
+ value: function destroy() {
426
+ this._stopFlowDriver();
427
+ this._flowPerfOrigin = null;
428
+ if (this.map) {
429
+ var view = this.map.getView();
430
+ if (view) {
431
+ view.un('change:resolution', this._onViewResolutionChange);
432
+ }
433
+ }
434
+ this.vectorLayer.un('postrender', this._onPostRender);
435
+ }
436
+ }]);
437
+ }();
438
+ //# sourceMappingURL=ArrowFlowLayer.js.map