@vtx/cs-map 1.0.7 → 1.0.8

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 (103) hide show
  1. package/lib/_util/EventEmitter.js +80 -0
  2. package/lib/_util/EventEmitter.js.map +1 -0
  3. package/lib/_util/getDefaultMapInfo.js +2 -2
  4. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  5. package/lib/assets/colors.png +0 -0
  6. package/lib/assets/colors1.png +0 -0
  7. package/lib/cesium-3dtiles-layer/Cesium3DTilesLayer.js +38 -0
  8. package/lib/cesium-3dtiles-layer/Cesium3DTilesLayer.js.map +1 -0
  9. package/lib/cesium-3dtiles-layer/index.js +30 -0
  10. package/lib/cesium-3dtiles-layer/index.js.map +1 -0
  11. package/lib/feature-layer/FeatureLayer.js +44 -12
  12. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  13. package/lib/feature-layer/createFeatureCollection.js +4 -0
  14. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  15. package/lib/feature-layer/index.js +22 -5
  16. package/lib/feature-layer/index.js.map +1 -1
  17. package/lib/group-layer/GroupLayer.js +89 -0
  18. package/lib/group-layer/GroupLayer.js.map +1 -0
  19. package/lib/group-layer/index.js +68 -0
  20. package/lib/group-layer/index.js.map +1 -0
  21. package/lib/group-layer/style/css.js +4 -0
  22. package/lib/group-layer/style/css.js.map +1 -0
  23. package/lib/group-layer/style/index.css +0 -0
  24. package/lib/group-layer/style/index.js +4 -0
  25. package/lib/group-layer/style/index.js.map +1 -0
  26. package/lib/group-layer/style/index.less +0 -0
  27. package/lib/highlight-layer/HighlightLayer.js +172 -0
  28. package/lib/highlight-layer/HighlightLayer.js.map +1 -0
  29. package/lib/highlight-layer/index.js +25 -0
  30. package/lib/highlight-layer/index.js.map +1 -0
  31. package/lib/highlight-layer/style/css.js +4 -0
  32. package/lib/highlight-layer/style/css.js.map +1 -0
  33. package/lib/highlight-layer/style/index.css +0 -0
  34. package/lib/highlight-layer/style/index.js +4 -0
  35. package/lib/highlight-layer/style/index.js.map +1 -0
  36. package/lib/highlight-layer/style/index.less +0 -0
  37. package/lib/image-layer/ImageLayer.js +44 -18
  38. package/lib/image-layer/ImageLayer.js.map +1 -1
  39. package/lib/image-layer/index.js +37 -21
  40. package/lib/image-layer/index.js.map +1 -1
  41. package/lib/index.js +30 -2
  42. package/lib/index.js.map +1 -1
  43. package/lib/line-flow-layer/LineFlowLayer.js +110 -0
  44. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -0
  45. package/lib/line-flow-layer/index.js +30 -0
  46. package/lib/line-flow-layer/index.js.map +1 -0
  47. package/lib/line-flow-layer/style/css.js +4 -0
  48. package/lib/line-flow-layer/style/css.js.map +1 -0
  49. package/lib/line-flow-layer/style/index.css +0 -0
  50. package/lib/line-flow-layer/style/index.js +4 -0
  51. package/lib/line-flow-layer/style/index.js.map +1 -0
  52. package/lib/line-flow-layer/style/index.less +0 -0
  53. package/lib/map/InfoTool/index.js.map +1 -1
  54. package/lib/map/Popup.js +54 -16
  55. package/lib/map/Popup.js.map +1 -1
  56. package/lib/map/hooks/useGetMapFeatureInfoByText.js +211 -0
  57. package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -0
  58. package/lib/map/index.js +208 -61
  59. package/lib/map/index.js.map +1 -1
  60. package/lib/map/style/index.css +19 -4
  61. package/lib/map/style/index.less +20 -4
  62. package/lib/marker/Marker.js +1 -0
  63. package/lib/marker/Marker.js.map +1 -1
  64. package/lib/material/TrailPolylineMaterial.js +31 -0
  65. package/lib/material/TrailPolylineMaterial.js.map +1 -0
  66. package/lib/renderer/index.js +3 -0
  67. package/lib/renderer/index.js.map +1 -1
  68. package/lib/tools/assets/footer.png +0 -0
  69. package/lib/tools/assets/layer.png +0 -0
  70. package/lib/tools/assets/search.png +0 -0
  71. package/lib/tools/index.js +37 -0
  72. package/lib/tools/index.js.map +1 -0
  73. package/lib/tools/layer/index.js +169 -0
  74. package/lib/tools/layer/index.js.map +1 -0
  75. package/lib/tools/search/Select/index.js +56 -0
  76. package/lib/tools/search/Select/index.js.map +1 -0
  77. package/lib/tools/search/Select/style/css.js +4 -0
  78. package/lib/tools/search/Select/style/css.js.map +1 -0
  79. package/lib/tools/search/Select/style/index.css +45 -0
  80. package/lib/tools/search/Select/style/index.js +4 -0
  81. package/lib/tools/search/Select/style/index.js.map +1 -0
  82. package/lib/tools/search/Select/style/index.less +47 -0
  83. package/lib/tools/search/index.js +203 -0
  84. package/lib/tools/search/index.js.map +1 -0
  85. package/lib/tools/style/css.js +8 -0
  86. package/lib/tools/style/css.js.map +1 -0
  87. package/lib/tools/style/index.css +123 -0
  88. package/lib/tools/style/index.js +8 -0
  89. package/lib/tools/style/index.js.map +1 -0
  90. package/lib/tools/style/index.less +120 -0
  91. package/lib/tools/tools-item/index.js +50 -0
  92. package/lib/tools/tools-item/index.js.map +1 -0
  93. package/lib/trail-polyline-layer/TrailPolylineLayer.js +84 -0
  94. package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -0
  95. package/lib/trail-polyline-layer/index.js +28 -0
  96. package/lib/trail-polyline-layer/index.js.map +1 -0
  97. package/lib/trail-polyline-layer/style/css.js +4 -0
  98. package/lib/trail-polyline-layer/style/css.js.map +1 -0
  99. package/lib/trail-polyline-layer/style/index.css +0 -0
  100. package/lib/trail-polyline-layer/style/index.js +4 -0
  101. package/lib/trail-polyline-layer/style/index.js.map +1 -0
  102. package/lib/trail-polyline-layer/style/index.less +0 -0
  103. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_cesium","require","_util","_interopRequireDefault","_class","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_defineProperty","value","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","set","privateCollection","has","_classPrivateFieldGet","receiver","_classExtractFieldDescriptor","_classApplyDescriptorGet","get","_classPrivateFieldSet","_classApplyDescriptorSet","action","_classStaticPrivateMethodGet","classConstructor","method","_classCheckPrivateStaticAccess","_element","WeakMap","InfoTool","options","viewer","map","document","createElement","add","callback","arguments","element","position","cartesian2d","cartesian3d","inputFeature","Cesium3DTileFeature","Cartesian2","Cartesian3","scene","pickPositionSupported","defined","pick","pickPosition","camera","pickEllipsoid","globe","ellipsoid","SceneTransforms","wgs84ToWindowCoordinates","that","info","type","feature","remove","propertyNames","getPropertyNames","propertyName","getProperty","properties","_propertyNames","_value","content","_createInfoTool","util","setInnerText","entityId","setCss","cartographic","Cartographic","fromCartesian","lon","CesiumMath","toDegrees","longitude","lat","latitude","setTimeout","_popup","height","offset","divPosition","fromDegrees","x","y","_hookToGlobe","parseInt","getCss","requestRender","hideOnBehindGlobe","cartesian2","preRender","addEventListener","canvasPosition","cartesianToCanvasCoordinates","cameraPosition","cartesianToCartographic","maximumRadius","distance","_default","exports"],"sources":["map/InfoTool/index.js"],"sourcesContent":["import {\n Math as CesiumMath,\n Cesium3DTileFeature,\n Cartesian2,\n Cartesian3,\n Cartographic,\n SceneTransforms,\n defined\n} from 'cesium';\nimport './index.less';\nimport util from './util';\n\n/**\n * 信息工具。\n *\n * @alias InfoTool\n * @constructor\n * @param {viewer} viewer Cesium视窗。\n */\nclass InfoTool {\n /**\n * 创建一个动态实体弹窗。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Number} options 选项。\n * @param {Cartesian3} options.position 弹出位置。\n * @param {HTMLElement} options.element 弹出窗元素容器。\n * @param {Function} callback 回调函数。\n * @ignore\n */\n static #createInfoTool(viewer, options, callback = undefined) {\n const cartographic = Cartographic.fromCartesian(options.position);\n const lon = CesiumMath.toDegrees(cartographic.longitude); //.toFixed(5);\n const lat = CesiumMath.toDegrees(cartographic.latitude); //.toFixed(5);\n\n // 回调\n callback();\n\n // 添加div弹窗\n setTimeout(function () {\n InfoTool.#popup(\n viewer,\n options.element,\n lon,\n lat,\n cartographic.height,\n // options.geometryType,\n options.offset,\n );\n }, 100);\n }\n\n /**\n * 弹出HTML元素弹窗。\n * @param {viewer} viewer Cesium视窗。\n * @param {Element|HTMLElement} element 弹窗元素。\n * @param {Number} lon 经度。\n * @param {Number} lat 纬度。\n * @param {Number} height 高度。\n * @ignore\n */\n static #popup(viewer, element, lon, lat, height, offset) {\n setTimeout(function () {\n // 设置元素效果\n util.setCss(element, 'opacity', '1');\n util.setCss(element, 'z-index', '0');\n }, 100);\n const divPosition = Cartesian3.fromDegrees(lon, lat, height);\n\n let x = offset?.x || 0;\n let y = offset?.y || 0;\n\n InfoTool.#hookToGlobe(\n viewer,\n element,\n divPosition,\n [-4 + x, -parseInt(util.getCss(element, 'offsetHeight') + y)],\n true,\n );\n viewer.scene.requestRender();\n }\n\n /**\n * 将HTML弹窗挂接到地球上。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Element} element 弹窗元素。\n * @param {Cartesian3} position 地图坐标点。\n * @param {Array} offset 偏移。\n * @param {Boolean} hideOnBehindGlobe 当元素在地球背面会自动隐藏,以减轻判断计算压力。\n * @ignore\n */\n static #hookToGlobe(viewer, element, position, offset, hideOnBehindGlobe) {\n const scene = viewer.scene,\n camera = viewer.camera;\n const cartesian2 = new Cartesian2();\n scene.preRender.addEventListener(function () {\n const canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标\n if (defined(canvasPosition)) {\n util.setCss(element, 'left', parseInt(canvasPosition.x + offset[0]) + 'px');\n util.setCss(element, 'top', parseInt(canvasPosition.y + offset[1]) + 'px');\n\n // 是否在地球背面隐藏\n if (hideOnBehindGlobe) {\n const cameraPosition = camera.position;\n let height = scene.globe.ellipsoid.cartesianToCartographic(cameraPosition)\n .height;\n height += scene.globe.ellipsoid.maximumRadius;\n if (!(Cartesian3.distance(cameraPosition, position) > height)) {\n // util.setCss(element, 'display', 'flex');\n } else {\n util.setCss(element, 'display', 'none');\n }\n }\n }\n });\n }\n\n #element;\n viewer;\n\n constructor(options) {\n this.viewer = options.map;\n // 在Cesium容器中添加元素\n this.#element = document.createElement('div');\n }\n\n /**\n * 添加。\n * @param {Object} options 选项。\n * @param {Element} options.element 弹窗元素。\n * @param {Cartesian2|Cartesian3} options.position 点击位置。\n * @param {Cesium3DTileFeature} [options.inputFeature] 模型要素。\n * @param {String} options.type 类型(默认值为default,即任意点击模式;如果设置为info,即信息模式,只有点击Feature才会响应)。\n * @param {String} options.content 内容(只有类型为default时才起作用)。\n * @param {Function} callback 回调函数。\n */\n add(options, callback = undefined) {\n this.element = options.element;\n // 判断参数为空返回\n if (!options) {\n return;\n }\n // 点\n let position, cartesian2d, cartesian3d, inputFeature;\n if (options instanceof Cesium3DTileFeature) {\n inputFeature = options;\n options = {};\n } else {\n if (options instanceof Cartesian2 || options instanceof Cartesian3) {\n position = options;\n options = {};\n } else {\n position = options.position;\n inputFeature = options.inputFeature;\n }\n // 判断点位为空返回\n if (!position) {\n return;\n }\n if (position instanceof Cartesian2) {\n // 二维转三维\n // 如果支持拾取模型则取模型值\n cartesian3d =\n this.viewer.scene.pickPositionSupported &&\n defined(this.viewer.scene.pick(options.position))\n ? this.viewer.scene.pickPosition(position)\n : this.viewer.camera.pickEllipsoid(\n position,\n this.viewer.scene.globe.ellipsoid,\n );\n cartesian2d = position;\n } else {\n cartesian3d = position;\n cartesian2d = SceneTransforms.wgs84ToWindowCoordinates(\n this.viewer.scene,\n cartesian3d,\n );\n }\n // 判断点位为空返回\n if (!cartesian3d) {\n return;\n }\n }\n\n const that = this;\n\n // 1.组织信息\n let info = '';\n if (options.type === 'info') {\n // 拾取要素\n const feature = inputFeature || this.viewer.scene.pick(cartesian2d);\n // 判断拾取要素为空返回\n if (!defined(feature)) {\n this.remove();\n return;\n }\n\n if (feature instanceof Cesium3DTileFeature) {\n // 3dtiles\n let propertyNames = feature.getPropertyNames();\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' + (propertyName + '\": \"' + feature.getProperty(propertyName)) + '\",\\n';\n }\n } else if (feature) {\n // Entity\n const properties = feature.properties;\n if (properties) {\n let propertyNames = properties._propertyNames;\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' +\n (propertyName + '\": \"' + properties[propertyName]._value) +\n '\",\\n';\n }\n }\n }\n } else {\n options.content && (info = options.content);\n }\n\n // 2.生成特效\n // 添加之前先移除\n this.remove();\n // if (!info) {\n // return;\n // }\n options.position = cartesian3d;\n options.element = options.element || this.#element;\n\n InfoTool.#createInfoTool(this.viewer, options, function () {\n util.setInnerText(options.element, info);\n typeof callback === 'function' && callback();\n });\n }\n\n /**\n * 移除。\n */\n remove(entityId = undefined) {\n util.setCss(this.element, 'opacity', '0');\n util.setCss(this.element, 'z-index', '-1');\n util.setCss(this.#element, 'opacity', '0');\n }\n}\n\nexport default InfoTool;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_cesium","require","_util","_interopRequireDefault","_class","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_defineProperty","value","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","set","privateCollection","has","_classPrivateFieldGet","receiver","_classExtractFieldDescriptor","_classApplyDescriptorGet","get","_classPrivateFieldSet","_classApplyDescriptorSet","action","_classStaticPrivateMethodGet","classConstructor","method","_classCheckPrivateStaticAccess","_element","WeakMap","InfoTool","options","viewer","map","document","createElement","add","callback","arguments","element","position","cartesian2d","cartesian3d","inputFeature","Cesium3DTileFeature","Cartesian2","Cartesian3","scene","pickPositionSupported","defined","pick","pickPosition","camera","pickEllipsoid","globe","ellipsoid","SceneTransforms","wgs84ToWindowCoordinates","that","info","type","feature","remove","propertyNames","getPropertyNames","propertyName","getProperty","properties","_propertyNames","_value","content","_createInfoTool","util","setInnerText","entityId","setCss","cartographic","Cartographic","fromCartesian","lon","CesiumMath","toDegrees","longitude","lat","latitude","setTimeout","_popup","height","offset","divPosition","fromDegrees","x","y","_hookToGlobe","parseInt","getCss","requestRender","hideOnBehindGlobe","cartesian2","preRender","addEventListener","canvasPosition","cartesianToCanvasCoordinates","cameraPosition","cartesianToCartographic","maximumRadius","distance","_default","exports"],"sources":["map/InfoTool/index.js"],"sourcesContent":["import {\n Math as CesiumMath,\n Cesium3DTileFeature,\n Cartesian2,\n Cartesian3,\n Cartographic,\n SceneTransforms,\n defined,\n} from 'cesium';\nimport './index.less';\nimport util from './util';\n\n/**\n * 信息工具。\n *\n * @alias InfoTool\n * @constructor\n * @param {viewer} viewer Cesium视窗。\n */\nclass InfoTool {\n /**\n * 创建一个动态实体弹窗。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Number} options 选项。\n * @param {Cartesian3} options.position 弹出位置。\n * @param {HTMLElement} options.element 弹出窗元素容器。\n * @param {Function} callback 回调函数。\n * @ignore\n */\n static #createInfoTool(viewer, options, callback = undefined) {\n const cartographic = Cartographic.fromCartesian(options.position);\n const lon = CesiumMath.toDegrees(cartographic.longitude); //.toFixed(5);\n const lat = CesiumMath.toDegrees(cartographic.latitude); //.toFixed(5);\n\n // 回调\n callback();\n\n // 添加div弹窗\n setTimeout(function() {\n InfoTool.#popup(\n viewer,\n options.element,\n lon,\n lat,\n cartographic.height,\n // options.geometryType,\n options.offset,\n );\n }, 100);\n }\n\n /**\n * 弹出HTML元素弹窗。\n * @param {viewer} viewer Cesium视窗。\n * @param {Element|HTMLElement} element 弹窗元素。\n * @param {Number} lon 经度。\n * @param {Number} lat 纬度。\n * @param {Number} height 高度。\n * @ignore\n */\n static #popup(viewer, element, lon, lat, height, offset) {\n setTimeout(function() {\n // 设置元素效果\n util.setCss(element, 'opacity', '1');\n util.setCss(element, 'z-index', '0');\n }, 100);\n const divPosition = Cartesian3.fromDegrees(lon, lat, height);\n\n let x = offset?.x || 0;\n let y = offset?.y || 0;\n\n InfoTool.#hookToGlobe(\n viewer,\n element,\n divPosition,\n [-4 + x, -parseInt(util.getCss(element, 'offsetHeight') + y)],\n true,\n );\n viewer.scene.requestRender();\n }\n\n /**\n * 将HTML弹窗挂接到地球上。\n *\n * @param {viewer} viewer Cesium视窗。\n * @param {Element} element 弹窗元素。\n * @param {Cartesian3} position 地图坐标点。\n * @param {Array} offset 偏移。\n * @param {Boolean} hideOnBehindGlobe 当元素在地球背面会自动隐藏,以减轻判断计算压力。\n * @ignore\n */\n static #hookToGlobe(viewer, element, position, offset, hideOnBehindGlobe) {\n const scene = viewer.scene,\n camera = viewer.camera;\n const cartesian2 = new Cartesian2();\n scene.preRender.addEventListener(function() {\n const canvasPosition = scene.cartesianToCanvasCoordinates(position, cartesian2); // 笛卡尔坐标到画布坐标\n if (defined(canvasPosition)) {\n util.setCss(element, 'left', parseInt(canvasPosition.x + offset[0]) + 'px');\n util.setCss(element, 'top', parseInt(canvasPosition.y + offset[1]) + 'px');\n\n // 是否在地球背面隐藏\n if (hideOnBehindGlobe) {\n const cameraPosition = camera.position;\n let height = scene.globe.ellipsoid.cartesianToCartographic(cameraPosition)\n .height;\n height += scene.globe.ellipsoid.maximumRadius;\n if (!(Cartesian3.distance(cameraPosition, position) > height)) {\n // util.setCss(element, 'display', 'flex');\n } else {\n util.setCss(element, 'display', 'none');\n }\n }\n }\n });\n }\n\n #element;\n viewer;\n\n constructor(options) {\n this.viewer = options.map;\n // 在Cesium容器中添加元素\n this.#element = document.createElement('div');\n }\n\n /**\n * 添加。\n * @param {Object} options 选项。\n * @param {Element} options.element 弹窗元素。\n * @param {Cartesian2|Cartesian3} options.position 点击位置。\n * @param {Cesium3DTileFeature} [options.inputFeature] 模型要素。\n * @param {String} options.type 类型(默认值为default,即任意点击模式;如果设置为info,即信息模式,只有点击Feature才会响应)。\n * @param {String} options.content 内容(只有类型为default时才起作用)。\n * @param {Function} callback 回调函数。\n */\n add(options, callback = undefined) {\n this.element = options.element;\n // 判断参数为空返回\n if (!options) {\n return;\n }\n // 点\n let position, cartesian2d, cartesian3d, inputFeature;\n if (options instanceof Cesium3DTileFeature) {\n inputFeature = options;\n options = {};\n } else {\n if (options instanceof Cartesian2 || options instanceof Cartesian3) {\n position = options;\n options = {};\n } else {\n position = options.position;\n inputFeature = options.inputFeature;\n }\n // 判断点位为空返回\n if (!position) {\n return;\n }\n if (position instanceof Cartesian2) {\n // 二维转三维\n // 如果支持拾取模型则取模型值\n cartesian3d =\n this.viewer.scene.pickPositionSupported &&\n defined(this.viewer.scene.pick(options.position))\n ? this.viewer.scene.pickPosition(position)\n : this.viewer.camera.pickEllipsoid(\n position,\n this.viewer.scene.globe.ellipsoid,\n );\n cartesian2d = position;\n } else {\n cartesian3d = position;\n cartesian2d = SceneTransforms.wgs84ToWindowCoordinates(\n this.viewer.scene,\n cartesian3d,\n );\n }\n // 判断点位为空返回\n if (!cartesian3d) {\n return;\n }\n }\n\n const that = this;\n\n // 1.组织信息\n let info = '';\n if (options.type === 'info') {\n // 拾取要素\n const feature = inputFeature || this.viewer.scene.pick(cartesian2d);\n // 判断拾取要素为空返回\n if (!defined(feature)) {\n this.remove();\n return;\n }\n\n if (feature instanceof Cesium3DTileFeature) {\n // 3dtiles\n let propertyNames = feature.getPropertyNames();\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' + (propertyName + '\": \"' + feature.getProperty(propertyName)) + '\",\\n';\n }\n } else if (feature) {\n // Entity\n const properties = feature.properties;\n if (properties) {\n let propertyNames = properties._propertyNames;\n let length = propertyNames.length;\n for (let i = 0; i < length; ++i) {\n let propertyName = propertyNames[i];\n info +=\n '\"' +\n (propertyName + '\": \"' + properties[propertyName]._value) +\n '\",\\n';\n }\n }\n }\n } else {\n options.content && (info = options.content);\n }\n\n // 2.生成特效\n // 添加之前先移除\n this.remove();\n // if (!info) {\n // return;\n // }\n options.position = cartesian3d;\n options.element = options.element || this.#element;\n\n InfoTool.#createInfoTool(this.viewer, options, function() {\n util.setInnerText(options.element, info);\n typeof callback === 'function' && callback();\n });\n }\n\n /**\n * 移除。\n */\n remove(entityId = undefined) {\n util.setCss(this.element, 'opacity', '0');\n util.setCss(this.element, 'z-index', '-1');\n util.setCss(this.#element, 'opacity', '0');\n }\n}\n\nexport default InfoTool;\n"],"mappings":"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"}
package/lib/map/Popup.js CHANGED
@@ -11,7 +11,9 @@ var _icons = require("@ant-design/icons");
11
11
  var _InfoTool = _interopRequireDefault(require("./InfoTool"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _turf = require("@turf/turf");
14
- var _useProps2 = _interopRequireDefault(require("../_util/useProps"));
14
+ var _useProps = _interopRequireDefault(require("../_util/useProps"));
15
+ var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
16
+ var _HighlightLayer = _interopRequireDefault(require("../highlight-layer/HighlightLayer"));
15
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -37,10 +39,17 @@ var handelGeometry = function handelGeometry(entity) {
37
39
  y: 20
38
40
  };
39
41
  if (['MultiLineString', 'LineString'].includes(type) && coordinates !== null && coordinates !== void 0 && coordinates.length) {
42
+ var point1 = null;
43
+ var point2 = null;
40
44
  // 线
41
- var lngLatArr = coordinates[0];
42
- var point1 = (0, _turf.point)(lngLatArr[0]);
43
- var point2 = (0, _turf.point)(lngLatArr[1]);
45
+ if (coordinates.length > 1) {
46
+ point1 = (0, _turf.point)(coordinates[0]);
47
+ point2 = (0, _turf.point)(coordinates[1]);
48
+ } else {
49
+ var lngLatArr = coordinates[0];
50
+ point1 = (0, _turf.point)(lngLatArr[0]);
51
+ point2 = (0, _turf.point)(lngLatArr[1]);
52
+ }
44
53
  midpoint = (0, _turf.midpoint)(point1, point2);
45
54
  } else if (['Polygon', 'MultiPolygon'].includes(type)) {
46
55
  // 面
@@ -64,8 +73,7 @@ var handelGeometry = function handelGeometry(entity) {
64
73
  };
65
74
  exports.handelGeometry = handelGeometry;
66
75
  var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
67
- var _useProps = (0, _useProps2["default"])(),
68
- map = _useProps.map;
76
+ var map = props.map;
69
77
  var _useState = (0, _react.useState)(null),
70
78
  _useState2 = _slicedToArray(_useState, 2),
71
79
  content = _useState2[0],
@@ -79,6 +87,15 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
79
87
  var infoToolRef = (0, _react.useRef)(new _InfoTool["default"]({
80
88
  map: map
81
89
  }));
90
+ var highlightLayer = (0, _react.useRef)();
91
+ (0, _react.useEffect)(function () {
92
+ highlightLayer.current = new _HighlightLayer["default"]({
93
+ map: map
94
+ });
95
+ return function () {
96
+ highlightLayer.current.destroy();
97
+ };
98
+ }, []);
82
99
  (0, _react.useImperativeHandle)(ref, function () {
83
100
  return {
84
101
  showTemplate: showTemplate,
@@ -86,7 +103,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
86
103
  };
87
104
  });
88
105
  var showTemplate = function showTemplate(feature) {
89
- var _feature$_polyline, _feature$_position;
106
+ var _feature$_polyline, _feature$_position, _feature$position;
90
107
  var layer = map.getLayerByFeature(feature);
91
108
  if (!(layer !== null && layer !== void 0 && layer.template)) {
92
109
  return;
@@ -112,6 +129,27 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
112
129
  x: 5,
113
130
  y: 76
114
131
  };
132
+ if (!(feature !== null && feature !== void 0 && (_feature$position = feature.position) !== null && _feature$position !== void 0 && _feature$position._value)) {
133
+ offset = {
134
+ x: 0,
135
+ y: 10
136
+ };
137
+ }
138
+ if (feature.primitive) {
139
+ var _midpoint$geometry;
140
+ offset = {
141
+ x: 0,
142
+ y: 20
143
+ };
144
+ var geometry = (0, _createFeatureCollection.transformGeometry)(properties.geometryInfo);
145
+ var _geometry$coordinates = _slicedToArray(geometry.coordinates[0], 2),
146
+ point1 = _geometry$coordinates[0],
147
+ point2 = _geometry$coordinates[1];
148
+ var midpoint = (0, _turf.midpoint)(point1, point2);
149
+ if (midpoint !== null && midpoint !== void 0 && (_midpoint$geometry = midpoint.geometry) !== null && _midpoint$geometry !== void 0 && _midpoint$geometry.coordinates) {
150
+ position = _cesium.Cartesian3.fromDegrees.apply(_cesium.Cartesian3, _toConsumableArray(midpoint.geometry.coordinates));
151
+ }
152
+ }
115
153
 
116
154
  // 影像图层的数据
117
155
  if (feature instanceof _cesium.ImageryLayerFeatureInfo) {
@@ -132,6 +170,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
132
170
  offset: offset
133
171
  });
134
172
  map.popupRef = feature;
173
+ highlightLayer.current.addHighlightFeature(feature);
135
174
  };
136
175
  var hideTemplate = function hideTemplate() {
137
176
  var _infoToolRef$current;
@@ -148,33 +187,32 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
148
187
 
149
188
  // 判断点位异常-点位异常展示红色
150
189
  function judgeAbnormal() {
151
- var _featureRef$current;
152
190
  var _ref = map.getProperties(featureRef.current) || {},
153
191
  status = _ref.status;
154
- var key = (_featureRef$current = featureRef.current) === null || _featureRef$current === void 0 ? void 0 : _featureRef$current.key;
155
- var abnormal = ['LLD', 'YLD', 'SZJCD'].includes(key) && [1, 2, 4].includes(status);
156
- return abnormal;
192
+ return status && [1, 2, 4].includes(status);
157
193
  }
158
194
  var onClose = function onClose() {
159
195
  map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);
160
196
  hideTemplate();
197
+ // 清除高亮
198
+ highlightLayer.current.clearFeatures();
161
199
  };
162
200
  return /*#__PURE__*/_react["default"].createElement("div", {
163
201
  ref: popupRef,
164
202
  className: (0, _classnames["default"])('cesium-popup', {
165
- abnormal: judgeAbnormal()
203
+ 'cesium-popup-abnormal': judgeAbnormal()
166
204
  })
167
205
  }, /*#__PURE__*/_react["default"].createElement(_icons.CloseOutlined, {
168
- className: (0, _classnames["default"])('close'),
206
+ className: (0, _classnames["default"])('cesium-popup-close'),
169
207
  width: 16,
170
208
  height: 16,
171
209
  onClick: onClose
172
210
  }), /*#__PURE__*/_react["default"].createElement("div", {
173
- className: (0, _classnames["default"])('title', {
174
- noTitle: !title
211
+ className: (0, _classnames["default"])('cesium-popup-title', {
212
+ 'cesium-popup-no-title': !title
175
213
  })
176
214
  }, title), /*#__PURE__*/_react["default"].createElement("div", {
177
- className: (0, _classnames["default"])('content'),
215
+ className: (0, _classnames["default"])('cesium-popup-content'),
178
216
  id: "content"
179
217
  }, content));
180
218
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_cesium","_icons","_InfoTool","_interopRequireDefault","_classnames","_turf","_useProps2","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","r","l","t","Symbol","iterator","e","n","u","a","f","o","next","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","iter","len","arr2","handelGeometry","entity","_entity$data","_midpoint","geometry","data","type","coordinates","midpoint","position","offset","x","y","includes","lngLatArr","point1","point","point2","Midpoint","polygon","Polygon","centerOfMass","Cartesian3","fromDegrees","apply","geometryType","_offset","exports","Popup","forwardRef","props","ref","_useProps","useProps","map","_useState","useState","_useState2","content","setContent","_useState3","_useState4","title","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","useImperativeHandle","showTemplate","hideTemplate","feature","_feature$_polyline","_feature$_position","layer","getLayerByFeature","template","properties","getProperties","values_","current","labelField","_positions","_polyline","_value","_position","ImageryLayerFeatureInfo","_handelGeometry","_geometryType","add","element","inputFeature","_infoToolRef$current","remove","entities","getById","judgeAbnormal","_featureRef$current","_ref","status","abnormal","onClose","onCloseTemplateBefore","createElement","className","classnames","CloseOutlined","width","height","onClick","noTitle","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef } from 'react';\nimport {ImageryLayerFeatureInfo, Cartesian3} from 'cesium';\nimport { CloseOutlined } from '@ant-design/icons';\nimport InfoTool from './InfoTool';\nimport classnames from 'classnames';\nimport {point, midpoint as Midpoint, polygon as Polygon, centerOfMass} from '@turf/turf';\nimport useProps from \"../_util/useProps\";\n\nexport const handelGeometry = entity => {\n let geometry = entity?.data?.geometry;\n let type = geometry?.type;\n let coordinates = geometry?.coordinates;\n\n let midpoint = entity?.data; // 默认点\n let position = null;\n let offset = {\n x: 0,\n y: 20,\n };\n\n if (['MultiLineString', 'LineString'].includes(type) && coordinates?.length) {\n // 线\n let lngLatArr = coordinates[0];\n let point1 = point(lngLatArr[0]);\n let point2 = point(lngLatArr[1]);\n\n midpoint = Midpoint(point1, point2);\n } else if (['Polygon', 'MultiPolygon'].includes(type)) {\n // 面\n // 注意:polygon首尾坐标要一致\n let polygon = Polygon(coordinates);\n midpoint = centerOfMass(polygon);\n } else if (['Point'].includes(type)) {\n offset = {\n x: 5,\n y: 20,\n };\n }\n if (midpoint?.geometry?.coordinates) {\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\n }\n\n return {\n position,\n geometryType: type,\n _offset: offset,\n };\n};\n\nconst Popup = forwardRef((props, ref) => {\n const { map } = useProps();\n\n const [content, setContent] = useState(null);\n const [title, setTitle] = useState(null);\n const popupRef = useRef();\n\n const featureRef = useRef();\n const infoToolRef = useRef(new InfoTool({ map }));\n\n\n useImperativeHandle(ref, () => {\n return {\n showTemplate,\n hideTemplate,\n };\n });\n\n const showTemplate = feature => {\n let layer = map.getLayerByFeature(feature);\n if (!layer?.template) {\n return;\n }\n\n let properties = map.getProperties(feature);\n feature.values_ = properties;\n\n featureRef.current = feature;\n if (layer) {\n let template = layer.template;\n let labelField = layer.labelField;\n\n if (labelField) {\n setTitle(properties[labelField]);\n }\n\n if (template) {\n setContent(template(feature));\n }\n }\n\n let geometryType = 'point';\n let _positions = feature?._polyline?._positions?._value || [];\n let position = feature?._position?._value || _positions[_positions?.length - 1];\n // 偏移量\n let offset = {\n x: 5,\n y: 76,\n };\n\n // 影像图层的数据\n if (feature instanceof ImageryLayerFeatureInfo) {\n let { position: _position, geometryType: _geometryType, _offset } = handelGeometry(\n feature,\n );\n position = _position;\n geometryType = _geometryType;\n offset = _offset;\n }\n\n infoToolRef.current.add({\n position: position,\n content: '',\n element: popupRef.current,\n inputFeature: feature,\n type: '',\n offset,\n });\n\n map.popupRef = feature;\n };\n\n const hideTemplate = () => {\n if (map.popupRef && !(map.popupRef instanceof ImageryLayerFeatureInfo)) {\n // LayerServer.viewerFlyTo(map, map.popupRef, {});\n }\n\n map.popupRef = null;\n featureRef.current = null;\n infoToolRef?.current?.remove();\n\n if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n };\n\n // 判断点位异常-点位异常展示红色\n function judgeAbnormal() {\n const { status } = map.getProperties(featureRef.current) || {};\n const key = featureRef.current?.key;\n let abnormal = ['LLD', 'YLD', 'SZJCD'].includes(key) && [1, 2, 4].includes(status);\n return abnormal;\n }\n\n const onClose = () => {\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current)\n hideTemplate();\n }\n return (\n <div\n ref={popupRef}\n className={classnames('cesium-popup', {abnormal: judgeAbnormal()})}\n >\n <CloseOutlined className={classnames('close')} width={16} height={16} onClick={onClose} />\n <div className={classnames('title', {noTitle: !title})}>{title}</div>\n <div className={classnames('content')} id=\"content\">\n {content}\n </div>\n </div>\n );\n})\n\nexport default Popup;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAAyC,SAAAI,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAS,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAH,sBAAAI,CAAA,EAAAC,CAAA,QAAAC,CAAA,WAAAF,CAAA,gCAAAG,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,4BAAAE,CAAA,QAAAG,CAAA,EAAAC,CAAA,EAAAZ,CAAA,EAAAa,CAAA,EAAAC,CAAA,OAAAC,CAAA,OAAAC,CAAA,iBAAAhB,CAAA,IAAAQ,CAAA,GAAAA,CAAA,CAAAb,IAAA,CAAAW,CAAA,GAAAW,IAAA,QAAAV,CAAA,QAAAlB,MAAA,CAAAmB,CAAA,MAAAA,CAAA,UAAAO,CAAA,uBAAAA,CAAA,IAAAJ,CAAA,GAAAX,CAAA,CAAAL,IAAA,CAAAa,CAAA,GAAAU,IAAA,MAAAJ,CAAA,CAAAK,IAAA,CAAAR,CAAA,CAAAS,KAAA,GAAAN,CAAA,CAAAO,MAAA,KAAAd,CAAA,GAAAQ,CAAA,iBAAAT,CAAA,IAAAU,CAAA,OAAAJ,CAAA,GAAAN,CAAA,yBAAAS,CAAA,YAAAP,CAAA,eAAAK,CAAA,GAAAL,CAAA,cAAAnB,MAAA,CAAAwB,CAAA,MAAAA,CAAA,2BAAAG,CAAA,QAAAJ,CAAA,aAAAE,CAAA;AAAA,SAAAb,gBAAAF,GAAA,QAAAuB,KAAA,CAAAC,OAAA,CAAAxB,GAAA,UAAAA,GAAA;AAAA,SAAAyB,mBAAAzB,GAAA,WAAA0B,kBAAA,CAAA1B,GAAA,KAAA2B,gBAAA,CAAA3B,GAAA,KAAAI,2BAAA,CAAAJ,GAAA,KAAA4B,kBAAA;AAAA,SAAAA,mBAAA,cAAAtB,SAAA;AAAA,SAAAF,4BAAAa,CAAA,EAAAY,MAAA,SAAAZ,CAAA,qBAAAA,CAAA,sBAAAa,iBAAA,CAAAb,CAAA,EAAAY,MAAA,OAAAhB,CAAA,GAAAvB,MAAA,CAAAI,SAAA,CAAAqC,QAAA,CAAAnC,IAAA,CAAAqB,CAAA,EAAAe,KAAA,aAAAnB,CAAA,iBAAAI,CAAA,CAAAgB,WAAA,EAAApB,CAAA,GAAAI,CAAA,CAAAgB,WAAA,CAAAC,IAAA,MAAArB,CAAA,cAAAA,CAAA,mBAAAU,KAAA,CAAAY,IAAA,CAAAlB,CAAA,OAAAJ,CAAA,+DAAAuB,IAAA,CAAAvB,CAAA,UAAAiB,iBAAA,CAAAb,CAAA,EAAAY,MAAA;AAAA,SAAAF,iBAAAU,IAAA,eAAA3B,MAAA,oBAAA2B,IAAA,CAAA3B,MAAA,CAAAC,QAAA,aAAA0B,IAAA,+BAAAd,KAAA,CAAAY,IAAA,CAAAE,IAAA;AAAA,SAAAX,mBAAA1B,GAAA,QAAAuB,KAAA,CAAAC,OAAA,CAAAxB,GAAA,UAAA8B,iBAAA,CAAA9B,GAAA;AAAA,SAAA8B,kBAAA9B,GAAA,EAAAsC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAtC,GAAA,CAAAsB,MAAA,EAAAgB,GAAA,GAAAtC,GAAA,CAAAsB,MAAA,WAAArB,CAAA,MAAAsC,IAAA,OAAAhB,KAAA,CAAAe,GAAA,GAAArC,CAAA,GAAAqC,GAAA,EAAArC,CAAA,IAAAsC,IAAA,CAAAtC,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAsC,IAAA;AAElC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,MAAM,EAAI;EAAA,IAAAC,YAAA,EAAAC,SAAA;EACpC,IAAIC,QAAQ,GAAGH,MAAM,aAANA,MAAM,gBAAAC,YAAA,GAAND,MAAM,CAAEI,IAAI,cAAAH,YAAA,uBAAZA,YAAA,CAAcE,QAAQ;EACrC,IAAIE,IAAI,GAAGF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,IAAI;EACzB,IAAIC,WAAW,GAAGH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,WAAW;EAEvC,IAAIC,QAAQ,GAAGP,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,IAAI,CAAC,CAAC;EAC7B,IAAII,QAAQ,GAAG,IAAI;EACnB,IAAIC,MAAM,GAAG;IACTC,CAAC,EAAE,CAAC;IACJC,CAAC,EAAE;EACP,CAAC;EAED,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAACC,QAAQ,CAACP,IAAI,CAAC,IAAIC,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEzB,MAAM,EAAE;IACzE;IACA,IAAIgC,SAAS,GAAGP,WAAW,CAAC,CAAC,CAAC;IAC9B,IAAIQ,MAAM,GAAG,IAAAC,WAAK,EAACF,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,IAAIG,MAAM,GAAG,IAAAD,WAAK,EAACF,SAAS,CAAC,CAAC,CAAC,CAAC;IAEhCN,QAAQ,GAAG,IAAAU,cAAQ,EAACH,MAAM,EAAEE,MAAM,CAAC;EACvC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAACJ,QAAQ,CAACP,IAAI,CAAC,EAAE;IACnD;IACA;IACA,IAAIa,OAAO,GAAG,IAAAC,aAAO,EAACb,WAAW,CAAC;IAClCC,QAAQ,GAAG,IAAAa,kBAAY,EAACF,OAAO,CAAC;EACpC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAACN,QAAQ,CAACP,IAAI,CAAC,EAAE;IACjCI,MAAM,GAAG;MACLC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE;IACP,CAAC;EACL;EACA,KAAAT,SAAA,GAAIK,QAAQ,cAAAL,SAAA,gBAAAA,SAAA,GAARA,SAAA,CAAUC,QAAQ,cAAAD,SAAA,eAAlBA,SAAA,CAAoBI,WAAW,EAAE;IACjCE,QAAQ,GAAGa,kBAAU,CAACC,WAAW,CAAAC,KAAA,CAAtBF,kBAAU,EAAArC,kBAAA,CAAgBuB,QAAQ,CAACJ,QAAQ,CAACG,WAAW,EAAC;EACvE;EAEA,OAAO;IACHE,QAAQ,EAARA,QAAQ;IACRgB,YAAY,EAAEnB,IAAI;IAClBoB,OAAO,EAAEhB;EACb,CAAC;AACL,CAAC;AAACiB,OAAA,CAAA3B,cAAA,GAAAA,cAAA;AAEF,IAAM4B,KAAK,gBAAG,IAAAC,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACrC,IAAAC,SAAA,GAAgB,IAAAC,qBAAQ,EAAC,CAAC;IAAlBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EAEX,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAAC,UAAA,GAAA9E,cAAA,CAAA4E,SAAA;IAArCG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAAG,UAAA,GAA0B,IAAAJ,eAAQ,EAAC,IAAI,CAAC;IAAAK,UAAA,GAAAlF,cAAA,CAAAiF,UAAA;IAAjCE,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAMG,QAAQ,GAAG,IAAAC,aAAM,EAAC,CAAC;EAEzB,IAAMC,UAAU,GAAG,IAAAD,aAAM,EAAC,CAAC;EAC3B,IAAME,WAAW,GAAG,IAAAF,aAAM,EAAC,IAAIG,oBAAQ,CAAC;IAAEd,GAAG,EAAHA;EAAI,CAAC,CAAC,CAAC;EAGjD,IAAAe,0BAAmB,EAAClB,GAAG,EAAE,YAAM;IAC3B,OAAO;MACHmB,YAAY,EAAZA,YAAY;MACZC,YAAY,EAAZA;IACJ,CAAC;EACL,CAAC,CAAC;EAEF,IAAMD,YAAY,GAAG,SAAfA,YAAYA,CAAGE,OAAO,EAAI;IAAA,IAAAC,kBAAA,EAAAC,kBAAA;IAC5B,IAAIC,KAAK,GAAGrB,GAAG,CAACsB,iBAAiB,CAACJ,OAAO,CAAC;IAC1C,IAAI,EAACG,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,QAAQ,GAAE;MAClB;IACJ;IAEA,IAAIC,UAAU,GAAGxB,GAAG,CAACyB,aAAa,CAACP,OAAO,CAAC;IAC3CA,OAAO,CAACQ,OAAO,GAAGF,UAAU;IAE5BZ,UAAU,CAACe,OAAO,GAAGT,OAAO;IAC5B,IAAIG,KAAK,EAAE;MACP,IAAIE,QAAQ,GAAGF,KAAK,CAACE,QAAQ;MAC7B,IAAIK,UAAU,GAAGP,KAAK,CAACO,UAAU;MAEjC,IAAIA,UAAU,EAAE;QACZnB,QAAQ,CAACe,UAAU,CAACI,UAAU,CAAC,CAAC;MACpC;MAEA,IAAIL,QAAQ,EAAE;QACVlB,UAAU,CAACkB,QAAQ,CAACL,OAAO,CAAC,CAAC;MACjC;IACJ;IAEA,IAAI3B,YAAY,GAAG,OAAO;IAC1B,IAAIsC,UAAU,GAAG,CAAAX,OAAO,aAAPA,OAAO,gBAAAC,kBAAA,GAAPD,OAAO,CAAEY,SAAS,cAAAX,kBAAA,gBAAAA,kBAAA,GAAlBA,kBAAA,CAAoBU,UAAU,cAAAV,kBAAA,uBAA9BA,kBAAA,CAAgCY,MAAM,KAAI,EAAE;IAC7D,IAAIxD,QAAQ,GAAG,CAAA2C,OAAO,aAAPA,OAAO,gBAAAE,kBAAA,GAAPF,OAAO,CAAEc,SAAS,cAAAZ,kBAAA,uBAAlBA,kBAAA,CAAoBW,MAAM,KAAIF,UAAU,CAAC,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEjF,MAAM,IAAG,CAAC,CAAC;IAC/E;IACA,IAAI4B,MAAM,GAAG;MACTC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE;IACP,CAAC;;IAED;IACA,IAAIwC,OAAO,YAAYe,+BAAuB,EAAE;MAC5C,IAAAC,eAAA,GAAoEpE,cAAc,CAC9EoD,OACJ,CAAC;QAFec,SAAS,GAAAE,eAAA,CAAnB3D,QAAQ;QAA2B4D,aAAa,GAAAD,eAAA,CAA3B3C,YAAY;QAAiBC,OAAO,GAAA0C,eAAA,CAAP1C,OAAO;MAG/DjB,QAAQ,GAAGyD,SAAS;MACpBzC,YAAY,GAAG4C,aAAa;MAC5B3D,MAAM,GAAGgB,OAAO;IACpB;IAEAqB,WAAW,CAACc,OAAO,CAACS,GAAG,CAAC;MACpB7D,QAAQ,EAAEA,QAAQ;MAClB6B,OAAO,EAAE,EAAE;MACXiC,OAAO,EAAE3B,QAAQ,CAACiB,OAAO;MACzBW,YAAY,EAAEpB,OAAO;MACrB9C,IAAI,EAAE,EAAE;MACRI,MAAM,EAANA;IACJ,CAAC,CAAC;IAEFwB,GAAG,CAACU,QAAQ,GAAGQ,OAAO;EAC1B,CAAC;EAED,IAAMD,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IAAA,IAAAsB,oBAAA;IACvB,IAAIvC,GAAG,CAACU,QAAQ,IAAI,EAAEV,GAAG,CAACU,QAAQ,YAAYuB,+BAAuB,CAAC,EAAE;MACpE;IAAA;IAGJjC,GAAG,CAACU,QAAQ,GAAG,IAAI;IACnBE,UAAU,CAACe,OAAO,GAAG,IAAI;IACzBd,WAAW,aAAXA,WAAW,gBAAA0B,oBAAA,GAAX1B,WAAW,CAAEc,OAAO,cAAAY,oBAAA,eAApBA,oBAAA,CAAsBC,MAAM,CAAC,CAAC;IAE9B,IAAIxC,GAAG,CAACyC,QAAQ,CAACC,OAAO,CAAC,aAAa,CAAC,EAAE;MACrC1C,GAAG,CAACyC,QAAQ,CAACD,MAAM,CAACxC,GAAG,CAACyC,QAAQ,CAACC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5D;EACJ,CAAC;;EAED;EACA,SAASC,aAAaA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACrB,IAAAC,IAAA,GAAmB7C,GAAG,CAACyB,aAAa,CAACb,UAAU,CAACe,OAAO,CAAC,IAAI,CAAC,CAAC;MAAtDmB,MAAM,GAAAD,IAAA,CAANC,MAAM;IACd,IAAM/H,GAAG,IAAA6H,mBAAA,GAAGhC,UAAU,CAACe,OAAO,cAAAiB,mBAAA,uBAAlBA,mBAAA,CAAoB7H,GAAG;IACnC,IAAIgI,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAACpE,QAAQ,CAAC5D,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC4D,QAAQ,CAACmE,MAAM,CAAC;IAClF,OAAOC,QAAQ;EACnB;EAEA,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClBhD,GAAG,CAACiD,qBAAqB,IAAIjD,GAAG,CAACiD,qBAAqB,CAACrC,UAAU,CAACe,OAAO,CAAC;IAC1EV,YAAY,CAAC,CAAC;EAClB,CAAC;EACD,oBACI5H,MAAA,YAAA6J,aAAA;IACIrD,GAAG,EAAEa,QAAS;IACdyC,SAAS,EAAE,IAAAC,sBAAU,EAAC,cAAc,EAAE;MAACL,QAAQ,EAAEJ,aAAa,CAAC;IAAC,CAAC;EAAE,gBAEnEtJ,MAAA,YAAA6J,aAAA,CAACzJ,MAAA,CAAA4J,aAAa;IAACF,SAAS,EAAE,IAAAC,sBAAU,EAAC,OAAO,CAAE;IAACE,KAAK,EAAE,EAAG;IAACC,MAAM,EAAE,EAAG;IAACC,OAAO,EAAER;EAAQ,CAAE,CAAC,eAC1F3J,MAAA,YAAA6J,aAAA;IAAKC,SAAS,EAAE,IAAAC,sBAAU,EAAC,OAAO,EAAE;MAACK,OAAO,EAAE,CAACjD;IAAK,CAAC;EAAE,GAAEA,KAAW,CAAC,eACrEnH,MAAA,YAAA6J,aAAA;IAAKC,SAAS,EAAE,IAAAC,sBAAU,EAAC,SAAS,CAAE;IAACM,EAAE,EAAC;EAAS,GAC9CtD,OACA,CACJ,CAAC;AAEd,CAAC,CAAC;AAAA,IAAAuD,QAAA,GAEajE,KAAK;AAAAD,OAAA,cAAAkE,QAAA"}
1
+ {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_cesium","_icons","_InfoTool","_interopRequireDefault","_classnames","_turf","_useProps","_createFeatureCollection","_HighlightLayer","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","r","l","t","Symbol","iterator","e","n","u","a","f","o","next","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","iter","len","arr2","handelGeometry","entity","_entity$data","_midpoint","geometry","data","type","coordinates","midpoint","position","offset","x","y","includes","point1","point2","point","lngLatArr","Midpoint","polygon","Polygon","centerOfMass","Cartesian3","fromDegrees","apply","geometryType","_offset","exports","Popup","forwardRef","props","ref","map","_useState","useState","_useState2","content","setContent","_useState3","_useState4","title","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","highlightLayer","useEffect","current","HighlightLayer","destroy","useImperativeHandle","showTemplate","hideTemplate","feature","_feature$_polyline","_feature$_position","_feature$position","layer","getLayerByFeature","template","properties","getProperties","values_","labelField","_positions","_polyline","_value","_position","primitive","_midpoint$geometry","transformGeometry","geometryInfo","_geometry$coordinates","ImageryLayerFeatureInfo","_handelGeometry","_geometryType","add","element","inputFeature","addHighlightFeature","_infoToolRef$current","remove","entities","getById","judgeAbnormal","_ref","status","onClose","onCloseTemplateBefore","clearFeatures","createElement","className","classnames","CloseOutlined","width","height","onClick","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport { ImageryLayerFeatureInfo, Cartesian3 } from 'cesium';\nimport { CloseOutlined } from '@ant-design/icons';\nimport InfoTool from './InfoTool';\nimport classnames from 'classnames';\nimport { point, midpoint as Midpoint, polygon as Polygon, centerOfMass } from '@turf/turf';\nimport useProps from '../_util/useProps';\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\nimport HighlightLayer from '../highlight-layer/HighlightLayer';\n\nexport const handelGeometry = entity => {\n let geometry = entity?.data?.geometry;\n let type = geometry?.type;\n let coordinates = geometry?.coordinates;\n\n let midpoint = entity?.data; // 默认点\n let position = null;\n let offset = {\n x: 0,\n y: 20,\n };\n\n if (['MultiLineString', 'LineString'].includes(type) && coordinates?.length) {\n let point1 = null;\n let point2 = null;\n // 线\n if (coordinates.length > 1) {\n point1 = point(coordinates[0]);\n point2 = point(coordinates[1]);\n } else {\n let lngLatArr = coordinates[0];\n point1 = point(lngLatArr[0]);\n point2 = point(lngLatArr[1]);\n }\n midpoint = Midpoint(point1, point2);\n } else if (['Polygon', 'MultiPolygon'].includes(type)) {\n // 面\n // 注意:polygon首尾坐标要一致\n let polygon = Polygon(coordinates);\n midpoint = centerOfMass(polygon);\n } else if (['Point'].includes(type)) {\n offset = {\n x: 5,\n y: 20,\n };\n }\n if (midpoint?.geometry?.coordinates) {\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\n }\n\n return {\n position,\n geometryType: type,\n _offset: offset,\n };\n};\n\nconst Popup = forwardRef((props, ref) => {\n const { map } = props;\n\n const [content, setContent] = useState(null);\n const [title, setTitle] = useState(null);\n const popupRef = useRef();\n\n const featureRef = useRef();\n const infoToolRef = useRef(new InfoTool({ map }));\n const highlightLayer = useRef();\n\n useEffect(() => {\n highlightLayer.current = new HighlightLayer({ map });\n\n return () => {\n highlightLayer.current.destroy();\n };\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n showTemplate,\n hideTemplate,\n };\n });\n\n const showTemplate = feature => {\n let layer = map.getLayerByFeature(feature);\n if (!layer?.template) {\n return;\n }\n\n let properties = map.getProperties(feature);\n feature.values_ = properties;\n featureRef.current = feature;\n if (layer) {\n let template = layer.template;\n let labelField = layer.labelField;\n\n if (labelField) {\n setTitle(properties[labelField]);\n }\n\n if (template) {\n setContent(template(feature));\n }\n }\n\n let geometryType = 'point';\n let _positions = feature?._polyline?._positions?._value || [];\n let position = feature?._position?._value || _positions[_positions?.length - 1];\n // 偏移量\n let offset = {\n x: 5,\n y: 76,\n };\n\n if (!feature?.position?._value) {\n offset = {\n x: 0,\n y: 10,\n };\n }\n\n if (feature.primitive) {\n offset = {\n x: 0,\n y: 20,\n };\n const geometry = transformGeometry(properties.geometryInfo);\n const [point1, point2] = geometry.coordinates[0];\n const midpoint = Midpoint(point1, point2);\n if (midpoint?.geometry?.coordinates) {\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\n }\n }\n\n // 影像图层的数据\n if (feature instanceof ImageryLayerFeatureInfo) {\n let { position: _position, geometryType: _geometryType, _offset } = handelGeometry(\n feature,\n );\n position = _position;\n geometryType = _geometryType;\n offset = _offset;\n }\n infoToolRef.current.add({\n position: position,\n content: '',\n element: popupRef.current,\n inputFeature: feature,\n type: '',\n offset,\n });\n\n map.popupRef = feature;\n highlightLayer.current.addHighlightFeature(feature);\n };\n\n const hideTemplate = () => {\n if (map.popupRef && !(map.popupRef instanceof ImageryLayerFeatureInfo)) {\n // LayerServer.viewerFlyTo(map, map.popupRef, {});\n }\n\n map.popupRef = null;\n featureRef.current = null;\n infoToolRef?.current?.remove();\n\n if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n };\n\n // 判断点位异常-点位异常展示红色\n function judgeAbnormal() {\n const { status } = map.getProperties(featureRef.current) || {};\n\n return status && [1, 2, 4].includes(status);\n }\n\n const onClose = () => {\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\n hideTemplate();\n // 清除高亮\n highlightLayer.current.clearFeatures();\n };\n return (\n <div\n ref={popupRef}\n className={classnames('cesium-popup', { 'cesium-popup-abnormal': judgeAbnormal() })}\n >\n <CloseOutlined\n className={classnames('cesium-popup-close')}\n width={16}\n height={16}\n onClick={onClose}\n />\n <div className={classnames('cesium-popup-title', { 'cesium-popup-no-title': !title })}>\n {title}\n </div>\n <div className={classnames('cesium-popup-content')} id=\"content\">\n {content}\n </div>\n </div>\n );\n});\n\nexport default Popup;\n"],"mappings":"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"}
@@ -0,0 +1,211 @@
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"] = exports.addressSearch = void 0;
8
+ var _utils = require("@vtx/utils");
9
+ var _cesium = require("cesium");
10
+ var _lodash = require("lodash");
11
+ var _mapTool = _interopRequireDefault(require("../../_util/mapTool"));
12
+ var _getDefaultMapInfo2 = _interopRequireDefault(require("../../_util/getDefaultMapInfo"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
16
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
18
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
19
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
20
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
+ 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; } }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ var handleResult = function handleResult(features, field, key) {
28
+ return features.map(function (v) {
29
+ var _v$_properties, _properties, _properties2, _properties3, _properties4, _properties5;
30
+ var properties = ((_v$_properties = v._properties) === null || _v$_properties === void 0 ? void 0 : _v$_properties.getValue(v._id)) || {};
31
+ properties = ((_properties = properties) === null || _properties === void 0 ? void 0 : _properties.properties) || properties;
32
+ properties.label = (_properties2 = properties) === null || _properties2 === void 0 ? void 0 : _properties2[field];
33
+ properties.value = ((_properties3 = properties) === null || _properties3 === void 0 ? void 0 : _properties3.id) || ((_properties4 = properties) === null || _properties4 === void 0 ? void 0 : _properties4.facilityId) || ((_properties5 = properties) === null || _properties5 === void 0 ? void 0 : _properties5[field]);
34
+ properties.feature = v;
35
+ if (key) {
36
+ v.key = key;
37
+ }
38
+ return properties;
39
+ });
40
+ };
41
+
42
+ // 根据关键字获取图形信息
43
+ var getVectorFeatureInfoByText = function getVectorFeatureInfoByText(layer, field, searchText) {
44
+ var _layer$entities;
45
+ var features = ((_layer$entities = layer.entities) === null || _layer$entities === void 0 ? void 0 : _layer$entities.values) || [];
46
+ if (features !== null && features !== void 0 && features.length) {
47
+ var _features = features.filter(function (v) {
48
+ var _v$_properties2, _properties6, _properties7;
49
+ var properties = ((_v$_properties2 = v._properties) === null || _v$_properties2 === void 0 ? void 0 : _v$_properties2.getValue(v._id)) || {};
50
+ properties = ((_properties6 = properties) === null || _properties6 === void 0 ? void 0 : _properties6.properties) || properties;
51
+ return (((_properties7 = properties) === null || _properties7 === void 0 ? void 0 : _properties7[field]) || '').indexOf(searchText) !== -1;
52
+ });
53
+ if (_features !== null && _features !== void 0 && _features.length) {
54
+ return handleResult(_features, field);
55
+ }
56
+ }
57
+ };
58
+ var getWmsFeatureInfoByText = function getWmsFeatureInfoByText(layer, field, searchText) {
59
+ var imageryProvider = (layer === null || layer === void 0 ? void 0 : layer._imageryProvider) || {};
60
+ var tenantId = (0, _utils.getUrlParam)('tenantId') || localStorage.getItem('tenantId');
61
+ var params = {
62
+ maxFeatures: 50,
63
+ service: 'WFS',
64
+ request: 'GetFeature',
65
+ version: '1.1.0',
66
+ outputFormat: 'application/json',
67
+ geoserverUrl: imageryProvider === null || imageryProvider === void 0 ? void 0 : imageryProvider._getFeatureInfoUrl,
68
+ typeName: imageryProvider === null || imageryProvider === void 0 ? void 0 : imageryProvider._layers,
69
+ cql_filter: imageryProvider._pickFeaturesResource.queryParameters.cql_filter,
70
+ viewparams: "tenantId:".concat(tenantId)
71
+ };
72
+ var cql_filter = "".concat(field, " like '%").concat(searchText, "%'");
73
+ params.cql_filter = encodeURIComponent(params.cql_filter ? "".concat(params.cql_filter, " and ").concat(cql_filter) : cql_filter);
74
+ var queryString = Object.entries(params).reduce(function (acc, _ref) {
75
+ var _ref2 = _slicedToArray(_ref, 2),
76
+ key = _ref2[0],
77
+ value = _ref2[1];
78
+ return "".concat(acc).concat(key, "=").concat(value, "&");
79
+ }, '?').slice(0, -1);
80
+ var _layer = _cesium.GeoJsonDataSource.load("".concat(imageryProvider === null || imageryProvider === void 0 ? void 0 : imageryProvider._getFeatureInfoUrl).concat(queryString), {
81
+ clampToGround: true,
82
+ zIndex: 3
83
+ });
84
+ return _layer.then(function (dataSource) {
85
+ var _dataSource$entities;
86
+ var features = [];
87
+ if (dataSource !== null && dataSource !== void 0 && (_dataSource$entities = dataSource.entities) !== null && _dataSource$entities !== void 0 && (_dataSource$entities = _dataSource$entities.values) !== null && _dataSource$entities !== void 0 && _dataSource$entities.length) {
88
+ features = handleResult(dataSource.entities.values, field, layer === null || layer === void 0 ? void 0 : layer.key);
89
+ }
90
+ return features;
91
+ });
92
+ };
93
+ var addressSearch = function addressSearch(address) {
94
+ var city = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '中国';
95
+ var url = "https://restapi.amap.com/v3/geocode/geo?key=2dd5476719ea3378dc06ef93b3d4aba7&city=".concat(city, "&address=").concat(address);
96
+ return fetch(url).then(function (resp) {
97
+ return resp.json();
98
+ }).then(function (res) {
99
+ var geocodes = res.geocodes,
100
+ info = res.info,
101
+ status = res.status;
102
+ if (info === 'OK' && status === '1' && geocodes.length) {
103
+ geocodes.map(function (item) {
104
+ var location = item.location;
105
+ if (location) {
106
+ location = location.split(',');
107
+ item.TDT = _mapTool["default"].gcj02towgs84(location[0] * 1, location[1] * 1);
108
+ }
109
+ });
110
+ }
111
+ return geocodes;
112
+ });
113
+ };
114
+ exports.addressSearch = addressSearch;
115
+ var _default = function _default(mapRef) {
116
+ var getMapLayers = /*#__PURE__*/function () {
117
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(searchText) {
118
+ var list, promiseList, wmsFeatures;
119
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
120
+ while (1) switch (_context.prev = _context.next) {
121
+ case 0:
122
+ list = [];
123
+ promiseList = [];
124
+ mapRef.current.getAllLayers().map(function (layer) {
125
+ if (layer.show && layer.key && layer.labelField) {
126
+ var label = layer.name;
127
+ var field = layer.labelField;
128
+ if (layer instanceof _cesium.CustomDataSource && layer.entities) {
129
+ var features = getVectorFeatureInfoByText(layer, field || 'name', searchText);
130
+ if (features !== null && features !== void 0 && features.length) {
131
+ list.push({
132
+ label: label,
133
+ options: features
134
+ });
135
+ }
136
+ } else if (layer instanceof _cesium.ImageryLayer) {
137
+ promiseList.push(getWmsFeatureInfoByText(layer, field || 'code', searchText).then(function (features) {
138
+ return {
139
+ label: label,
140
+ options: features
141
+ };
142
+ }));
143
+ }
144
+ }
145
+ });
146
+ _context.next = 5;
147
+ return Promise.all(promiseList);
148
+ case 5:
149
+ wmsFeatures = _context.sent.filter(function (item) {
150
+ return !(0, _lodash.isEmpty)(item.options);
151
+ });
152
+ return _context.abrupt("return", [].concat(list, _toConsumableArray(wmsFeatures)));
153
+ case 7:
154
+ case "end":
155
+ return _context.stop();
156
+ }
157
+ }, _callee);
158
+ }));
159
+ return function getMapLayers(_x) {
160
+ return _ref3.apply(this, arguments);
161
+ };
162
+ }();
163
+ var getAddressLayers = /*#__PURE__*/function () {
164
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(searchText) {
165
+ var _getDefaultMapInfo, rootDivisionName, data, dataList;
166
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
167
+ while (1) switch (_context2.prev = _context2.next) {
168
+ case 0:
169
+ _getDefaultMapInfo = (0, _getDefaultMapInfo2["default"])(), rootDivisionName = _getDefaultMapInfo.rootDivisionName;
170
+ _context2.next = 3;
171
+ return addressSearch(searchText, rootDivisionName || '中国');
172
+ case 3:
173
+ data = _context2.sent;
174
+ dataList = [];
175
+ if (data && data.length) {
176
+ data.map(function (item) {
177
+ dataList.push({
178
+ label: item.formatted_address,
179
+ value: item.formatted_address,
180
+ lngLat: item.TDT
181
+ // options: item.TDT,
182
+ });
183
+ });
184
+ }
185
+ return _context2.abrupt("return", dataList);
186
+ case 7:
187
+ case "end":
188
+ return _context2.stop();
189
+ }
190
+ }, _callee2);
191
+ }));
192
+ return function getAddressLayers(_x2) {
193
+ return _ref4.apply(this, arguments);
194
+ };
195
+ }();
196
+ return function (_ref5) {
197
+ var type = _ref5.type,
198
+ searchText = _ref5.searchText;
199
+ return new Promise(function (resolve) {
200
+ var TYPE = {
201
+ address: getAddressLayers,
202
+ layer: getMapLayers
203
+ };
204
+ TYPE[type](searchText).then(function (data) {
205
+ resolve(data);
206
+ });
207
+ });
208
+ };
209
+ };
210
+ exports["default"] = _default;
211
+ //# sourceMappingURL=useGetMapFeatureInfoByText.js.map