@vtx/cs-map 1.0.83 → 1.0.84
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.
- package/lib/_util/cesium.js +179 -0
- package/lib/_util/cesium.js.map +1 -0
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js +1 -1
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
- package/lib/circle-fly/index.js +75 -0
- package/lib/circle-fly/index.js.map +1 -0
- package/lib/circle-fly/style/css.js +4 -0
- package/lib/circle-fly/style/css.js.map +1 -0
- package/lib/circle-fly/style/index.css +0 -0
- package/lib/circle-fly/style/index.js +4 -0
- package/lib/circle-fly/style/index.js.map +1 -0
- package/lib/circle-fly/style/index.less +0 -0
- package/lib/feature-layer/FeatureLayer.js +4 -0
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +4 -0
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/index.js +22 -1
- package/lib/index.js.map +1 -1
- package/lib/inundate-analysis/index.js +121 -0
- package/lib/inundate-analysis/index.js.map +1 -0
- package/lib/inundate-analysis/style/css.js +4 -0
- package/lib/inundate-analysis/style/css.js.map +1 -0
- package/lib/inundate-analysis/style/index.css +0 -0
- package/lib/inundate-analysis/style/index.js +4 -0
- package/lib/inundate-analysis/style/index.js.map +1 -0
- package/lib/inundate-analysis/style/index.less +0 -0
- package/lib/map/Popup.js +224 -179
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/index.js +33 -22
- package/lib/map/index.js.map +1 -1
- package/lib/scene-roam/index.js +311 -0
- package/lib/scene-roam/index.js.map +1 -0
- package/lib/scene-roam/style/css.js +4 -0
- package/lib/scene-roam/style/css.js.map +1 -0
- package/lib/scene-roam/style/index.css +0 -0
- package/lib/scene-roam/style/index.js +4 -0
- package/lib/scene-roam/style/index.js.map +1 -0
- package/lib/scene-roam/style/index.less +0 -0
- package/package.json +1 -1
package/lib/map/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_cesium","_icons","_antd","_InfoTool","_classnames","_turf","_Polygon","_Polyline","_layerControl","_createFeatureCollection","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","l","Symbol","iterator","f","o","next","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","iter","len","arr2","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","propTypes","PropTypes","object","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","array","func","handelGeometry","exports","entity","_entity$data","_coordinates","_midpoint","geometry","data","type","coordinates","midpoint","position","offset","x","includes","point1","point2","point","lngLatArr","Midpoint","_coordinates2","map","item","concat","polygon","Polygon","centerOfMass","Cartesian3","fromDegrees","apply","geometryType","_offset","Popup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","viewRef","highlightLayerRef","useImperativeHandle","showTemplate","hideTemplate","feature","highlightLayer","_feature$_position","_feature$data","_highlightLayer2","_layer2$_options","points","properties","getProperties","TurfPoint","geometryInfo","lngLats","join","coordType","center","TureCenterOfMass","TurfFeatureCollection","_handelGeometry","getLayerByFeature","current","add","element","inputFeature","Template","_options","cluster","template","fitView","autoView","cancelPopup","layers","highlightFeature","_position","_value","height","fitViewHeight","PolygonGeo","_polygon","_feature$_polygon","_hierarchy","positions","v","cartographic","Cartographic","fromCartesian","lng","CesiumMath","toDegrees","longitude","lat","latitude","_handelGeometry2","PolylineGeo","_polyline","_feature$_polyline","_positions","_handelGeometry3","Cesium3DTileFeature","_clickObject","primitive","_midpoint$geometry","transformGeometry","_geometry$coordinates","ImageryLayerFeatureInfo","_handelGeometry4","currentCameraHeight","camera","positionCartographic","viewThreshold","viewHeight","getView","addHighlightFeature","_layer","getLayerByKey","key","_highlightLayer","onClose","judgeAbnormal","_ref","status","_infoToolRef$current","_highlightLayerRef$cu","_highlightLayerRef$cu2","onCloseTemplateBefore","remove","entities","getById","clearHighlight","setView","pitch","heading","z","flyTo","destination","orientation","roll","duration","CloseOutlined","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageryLayerFeatureInfo, Cartesian3, Cartographic, Math as CesiumMath, Cesium3DTileFeature } from 'cesium';\nimport { CloseOutlined } from '@ant-design/icons';\nimport { Table } from 'antd';\nimport InfoTool from './InfoTool';\nimport classnames from 'classnames';\nimport { point, midpoint as Midpoint, polygon as Polygon, centerOfMass } from '@turf/turf';\nimport PolygonGeo from '../polygon/Polygon';\nimport PolylineGeo from '../polyline/Polyline';\nimport { getImgUrl } from '../tools/layer-control';\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\nimport {\n featureCollection as TurfFeatureCollection,\n point as TurfPoint,\n centerOfMass as TureCenterOfMass,\n} from '@turf/turf';\n\nconst ClusterTitle = props => {\n const { layer } = props;\n let { name } = layer;\n\n const imgUrl = getImgUrl(layer);\n\n return (\n <div className={classnames('cs-map-popup-cluster-title')}>\n <img src={imgUrl} alt=\"\" className={classnames('cs-map-popup-cluster-title-img')} />\n <span className={classnames('cs-map-popup-cluster-title-text')}>{name}</span>\n </div>\n );\n};\nClusterTitle.propTypes = {\n layer: PropTypes.object,\n};\n\nconst Cluster = props => {\n const { layer, features, onFeatureClick, onFitView } = props;\n let { labelField } = layer;\n\n return (\n <div className={classnames('cs-map-popup-cluster')}>\n <div className={classnames('cs-map-popup-cluster-header')}>\n 共 {features.length} 个点位\n <a onClick={onFitView}>缩放至</a>\n </div>\n <Table\n pagination={false}\n size=\"small\"\n dataSource={features}\n scroll={{ y: 120 }}\n columns={[\n {\n title: '名称',\n dataIndex: '名称',\n width: 60,\n render: (text, record) => {\n return (\n <a onClick={() => onFeatureClick(record)}>\n {record.values_[labelField]}\n </a>\n );\n },\n },\n {\n title: '操作',\n dataIndex: '操作',\n width: 30,\n render: (text, record) => {\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\n },\n },\n ]}\n />\n </div>\n );\n};\nCluster.propTypes = {\n layer: PropTypes.object,\n features: PropTypes.array,\n onFeatureClick: PropTypes.func,\n onFitView: PropTypes.func\n}\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 // 兼容polygon首尾坐标不一致情况\n coordinates = coordinates?.map(item => {\n if (\n item[0][0] !== item[item.length - 1][0] ||\n item[0][1] !== item[item.length - 1][1]\n ) {\n return [...item, item[0]];\n }\n return item;\n });\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 viewRef = useRef();\n const highlightLayerRef = useRef();\n\n useImperativeHandle(ref, () => {\n return {\n showTemplate,\n hideTemplate,\n };\n });\n\n const showTemplate = (feature, highlightLayer) => {\n // 判断是否为聚合点击\n if (feature && feature.length >= 2) {\n const points = [];\n const features = feature.map(f => {\n let properties = map.getProperties(f);\n\n points.push(TurfPoint(f.geometry));\n return {\n feature: f,\n geometryInfo: properties?.geometryInfo || {\n type: 'point',\n lngLats: f.geometry.join(','),\n coordType: 'wgs84',\n },\n values_: properties,\n properties: properties,\n };\n });\n\n const center = TureCenterOfMass(TurfFeatureCollection(points));\n let { position } = handelGeometry({\n data: center,\n });\n\n let layer = map.getLayerByFeature(feature[0]);\n infoToolRef.current.add({\n position,\n content: '',\n element: popupRef.current,\n inputFeature: feature,\n type: '',\n offset: {\n x: 0,\n y: 50,\n },\n });\n\n setTitle(<ClusterTitle layer={layer} />);\n\n // 判断是否有自定义聚合列表模版\n let Template = layer?._options?.cluster?.template || Cluster;\n setContent(\n <Template\n layer={layer}\n features={features}\n onFitView={() => {\n map.fitView({ data: features });\n hideTemplate(null, map.autoView);\n }}\n onFeatureClick={f => {\n showTemplate(f.feature, highlightLayer);\n }}\n />,\n );\n return;\n }\n\n let layer = map.getLayerByFeature(feature);\n if (layer?.cancelPopup || feature?.cancelPopup) {\n return;\n }\n map.layers.highlightFeature = feature;\n\n let properties = map.getProperties(feature);\n feature.values_ = properties;\n featureRef.current = feature;\n let position = feature?._position?._value;\n // 偏移量\n let offset = {\n x: 5,\n y: 76,\n };\n\n let height = map.fitViewHeight || 5000;\n if (feature instanceof PolygonGeo || feature?._polygon) {\n let coordinates = [\n (feature?._polygon?._hierarchy?._value?.positions || []).map(v => {\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\n const lng = CesiumMath.toDegrees(cartographic.longitude);\n const lat = CesiumMath.toDegrees(cartographic.latitude);\n return [lng, lat];\n }),\n ];\n let { position: _position, _offset } = handelGeometry({\n data: { geometry: { type: 'Polygon', coordinates } },\n });\n position = _position;\n offset = _offset;\n height = null;\n } else if (feature instanceof PolylineGeo || feature?._polyline) {\n let coordinates = (feature?._polyline?._positions?._value || []).map(v => {\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\n const lng = CesiumMath.toDegrees(cartographic.longitude);\n const lat = CesiumMath.toDegrees(cartographic.latitude);\n return [lng, lat];\n });\n let { position: _position, _offset } = handelGeometry({\n data: { geometry: { type: 'LineString', coordinates } },\n });\n position = _position;\n offset = _offset;\n height = null;\n }\n\n if (feature instanceof Cesium3DTileFeature) {\n offset = {\n x: 0,\n y: 20,\n };\n position = map._clickObject.position;\n // position = Cartesian3.fromDegrees();\n } else 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 || feature?.data?.geometry?.coordinates) {\n let { position: _position, _offset } = handelGeometry(feature);\n position = _position;\n offset = _offset;\n }\n\n if (layer?.template) {\n let template = layer.template;\n let labelField = layer.labelField;\n\n setTitle(labelField && properties[labelField]);\n setContent(feature && template(feature));\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 currentCameraHeight = map.camera.positionCartographic.height;\n const viewThreshold = currentCameraHeight < height;\n const viewHeight = viewThreshold ? currentCameraHeight : height;\n if (!viewRef.current && map.autoView) {\n getView();\n }\n\n if (viewThreshold) {\n viewRef.current = null;\n }\n\n highlightLayer = highlightLayer || map.highlightLayer;\n highlightLayerRef.current = highlightLayer;\n highlightLayer.addHighlightFeature(feature);\n if (highlightLayer?.layer && map.autoView && !viewThreshold) {\n map.fitView({\n entity: highlightLayer.layer,\n height: viewHeight,\n });\n }\n };\n\n const hideTemplate = (_layer) => {\n if (_layer) {\n let layer = typeof _layer === 'string' ? map.getLayerByKey(_layer) : _layer;\n\n if (layer && layer.key && map.popupRef) {\n let _highlightLayer = map.getLayerByFeature(map.popupRef);\n if (_highlightLayer.key === layer.key) {\n onClose();\n }\n }\n } else {\n onClose();\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 // 关闭气泡\n const onClose = () => {\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\n map.popupRef = null;\n featureRef.current = null;\n infoToolRef?.current?.remove();\n\n map.layers.highlightFeature = null;\n\n if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n\n // 清除高亮\n highlightLayerRef.current?.clearHighlight?.();\n // highlightLayerRef.current.clearFeatures();\n\n // map.fitView();\n\n if (map.autoView) {\n setView();\n }\n };\n\n const getView = () => {\n //获取当前视角的pitch\n let pitch = map.camera.pitch;\n //获取当前视角的heading\n let heading = map.camera.heading;\n //获取当前视角的postion(位置)\n let position = map.camera.position;\n\n viewRef.current = {\n x: position.x,\n y: position.y,\n z: position.z,\n pitch: pitch,\n heading: heading,\n };\n };\n\n const setView = () => {\n if (viewRef.current) {\n map.camera.flyTo({\n //定位到范围中心点\n destination: {\n x: viewRef.current.x,\n y: viewRef.current.y,\n z: viewRef.current.z,\n },\n orientation: {\n heading: viewRef.current.heading, //左右方向\n pitch: viewRef.current.pitch, //上下方向\n roll: 0.0,\n },\n duration: 2,\n });\n\n viewRef.current = null;\n }\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\nPopup.propTypes = {\n map: PropTypes.object,\n feature: PropTypes.object,\n layer: PropTypes.object,\n highlightLayer: PropTypes.object,\n onClose: PropTypes.func,\n};\n\nexport default Popup;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_cesium","_icons","_antd","_InfoTool","_classnames","_turf","_Marker","_Polygon","_Polyline","_layerControl","_createFeatureCollection","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_regeneratorRuntime","prototype","o","value","Symbol","iterator","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","from","test","iter","len","arr2","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","getImageHeightBySrc","image","Image","height","onload","propTypes","PropTypes","object","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","columns","title","dataIndex","width","render","text","record","values_","array","func","handelGeometry","exports","entity","_entity$data","_coordinates","_midpoint","geometry","data","coordinates","midpoint","position","offset","x","includes","point1","point2","point","lngLatArr","Midpoint","_coordinates2","map","item","concat","polygon","Polygon","centerOfMass","Cartesian3","fromDegrees","geometryType","_offset","Popup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","viewRef","highlightLayerRef","useImperativeHandle","showTemplate","hideTemplate","_ref","_callee","feature","highlightLayer","_feature$_position","_feature$data","_highlightLayer2","_layer2$_options","points","_layer2","Template","properties","_feature$_billboard","_height","_feature$_billboard$s","_feature$_polygon","_handelGeometry","_position","_feature$_polyline","_coordinates3","_handelGeometry2","_position2","_offset2","_midpoint$geometry","_geometry$coordinates","_handelGeometry3","_position3","_offset3","template","currentCameraHeight","viewThreshold","viewHeight","_callee$","_context","getProperties","TurfPoint","geometryInfo","lngLats","join","coordType","getLayerByFeature","current","add","_clickObject","element","inputFeature","_options","cluster","fitView","autoView","cancelPopup","layers","highlightFeature","_value","fitViewHeight","MarkerGeo","_billboard","_image","scale","PolygonGeo","_polygon","_hierarchy","positions","cartographic","Cartographic","fromCartesian","lng","CesiumMath","toDegrees","longitude","lat","latitude","PolylineGeo","_polyline","_positions","Cesium3DTileFeature","primitive","transformGeometry","ImageryLayerFeatureInfo","camera","positionCartographic","getView","addHighlightFeature","_x","_x2","_layer","getLayerByKey","_highlightLayer","onClose","judgeAbnormal","_ref2","status","_infoToolRef$current","_highlightLayerRef$cu","_highlightLayerRef$cu2","onCloseTemplateBefore","remove","entities","getById","clearHighlight","setView","pitch","heading","z","flyTo","destination","orientation","roll","duration","CloseOutlined","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { ImageryLayerFeatureInfo, Cartesian3, Cartographic, Math as CesiumMath, Cesium3DTileFeature } from 'cesium';\nimport { CloseOutlined } from '@ant-design/icons';\nimport { Table } from 'antd';\nimport InfoTool from './InfoTool';\nimport classnames from 'classnames';\nimport { point, midpoint as Midpoint, polygon as Polygon, centerOfMass } from '@turf/turf';\nimport MarkerGeo from '../marker/Marker';\nimport PolygonGeo from '../polygon/Polygon';\nimport PolylineGeo from '../polyline/Polyline';\nimport { getImgUrl } from '../tools/layer-control';\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\nimport {\n featureCollection as TurfFeatureCollection,\n point as TurfPoint,\n centerOfMass as TureCenterOfMass,\n} from '@turf/turf';\n\nconst ClusterTitle = props => {\n const { layer } = props;\n let { name } = layer;\n\n const imgUrl = getImgUrl(layer);\n\n return (\n <div className={classnames('cs-map-popup-cluster-title')}>\n <img src={imgUrl} alt=\"\" className={classnames('cs-map-popup-cluster-title-img')} />\n <span className={classnames('cs-map-popup-cluster-title-text')}>{name}</span>\n </div>\n );\n};\n\n// 根据图片地址获取图片高度\nconst getImageHeightBySrc = (src) => {\n return new Promise((resolve) => {\n // js从base64数据中获取宽高\n let image = new Image();\n image.src = src;\n if (image.height) {\n resolve(image.height)\n } else {\n image.onload = () => {\n resolve(image.height)\n }\n }\n })\n}\n\nClusterTitle.propTypes = {\n layer: PropTypes.object,\n};\n\nconst Cluster = props => {\n const { layer, features, onFeatureClick, onFitView } = props;\n let { labelField } = layer;\n\n return (\n <div className={classnames('cs-map-popup-cluster')}>\n <div className={classnames('cs-map-popup-cluster-header')}>\n 共 {features.length} 个点位\n <a onClick={onFitView}>缩放至</a>\n </div>\n <Table\n pagination={false}\n size=\"small\"\n dataSource={features}\n scroll={{ y: 120 }}\n columns={[\n {\n title: '名称',\n dataIndex: '名称',\n width: 60,\n render: (text, record) => {\n return (\n <a onClick={() => onFeatureClick(record)}>\n {record.values_[labelField]}\n </a>\n );\n },\n },\n {\n title: '操作',\n dataIndex: '操作',\n width: 30,\n render: (text, record) => {\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\n },\n },\n ]}\n />\n </div>\n );\n};\nCluster.propTypes = {\n layer: PropTypes.object,\n features: PropTypes.array,\n onFeatureClick: PropTypes.func,\n onFitView: PropTypes.func\n}\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 // 兼容polygon首尾坐标不一致情况\n coordinates = coordinates?.map(item => {\n if (\n item[0][0] !== item[item.length - 1][0] ||\n item[0][1] !== item[item.length - 1][1]\n ) {\n return [...item, item[0]];\n }\n return item;\n });\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 viewRef = useRef();\n const highlightLayerRef = useRef();\n\n useImperativeHandle(ref, () => {\n return {\n showTemplate,\n hideTemplate,\n };\n });\n\n const showTemplate = async (feature, highlightLayer) => {\n // 判断是否为聚合点击\n if (feature && feature.length >= 2) {\n const points = [];\n const features = feature.map(f => {\n let properties = map.getProperties(f);\n\n points.push(TurfPoint(f.geometry));\n return {\n feature: f,\n geometryInfo: properties?.geometryInfo || {\n type: 'point',\n lngLats: f.geometry.join(','),\n coordType: 'wgs84',\n },\n values_: properties,\n properties: properties,\n };\n });\n\n\n let layer = map.getLayerByFeature(feature[0]);\n infoToolRef.current.add({\n position: map._clickObject.position,\n content: '',\n element: popupRef.current,\n inputFeature: feature,\n type: '',\n offset: {\n x: 0,\n y: 20,\n },\n });\n\n setTitle(<ClusterTitle layer={layer} />);\n\n // 判断是否有自定义聚合列表模版\n let Template = layer?._options?.cluster?.template || Cluster;\n setContent(\n <Template\n layer={layer}\n features={features}\n onFitView={() => {\n map.fitView({ data: features });\n hideTemplate(null, map.autoView);\n }}\n onFeatureClick={f => {\n showTemplate(f.feature, highlightLayer);\n }}\n />,\n );\n return;\n }\n\n let layer = map.getLayerByFeature(feature);\n if (layer?.cancelPopup || feature?.cancelPopup) {\n return;\n }\n map.layers.highlightFeature = feature;\n\n let properties = map.getProperties(feature);\n feature.values_ = properties;\n featureRef.current = feature;\n let position = feature?._position?._value;\n // 偏移量\n let offset = {\n x: 5,\n y: 76,\n };\n\n let height = map.fitViewHeight || 5000;\n if (feature instanceof MarkerGeo || feature?._billboard) {\n let src = feature._billboard?._image?._value || \"\";\n if (src) {\n let height = await getImageHeightBySrc(src);\n\n if (height) {\n if (feature._billboard.scale?._value) {\n height = height * feature._billboard.scale._value\n }\n\n offset.y = height + 10;\n }\n }\n } else if (feature instanceof PolygonGeo || feature?._polygon) {\n let coordinates = [\n (feature?._polygon?._hierarchy?._value?.positions || []).map(v => {\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\n const lng = CesiumMath.toDegrees(cartographic.longitude);\n const lat = CesiumMath.toDegrees(cartographic.latitude);\n return [lng, lat];\n }),\n ];\n let { position: _position, _offset } = handelGeometry({\n data: { geometry: { type: 'Polygon', coordinates } },\n });\n position = _position;\n offset = _offset;\n height = null;\n } else if (feature instanceof PolylineGeo || feature?._polyline) {\n let coordinates = (feature?._polyline?._positions?._value || []).map(v => {\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\n const lng = CesiumMath.toDegrees(cartographic.longitude);\n const lat = CesiumMath.toDegrees(cartographic.latitude);\n return [lng, lat];\n });\n let { position: _position, _offset } = handelGeometry({\n data: { geometry: { type: 'LineString', coordinates } },\n });\n position = _position;\n offset = _offset;\n height = null;\n }\n\n if (feature instanceof Cesium3DTileFeature) {\n offset = {\n x: 0,\n y: 20,\n };\n position = map._clickObject.position;\n // position = Cartesian3.fromDegrees();\n } else 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 || feature?.data?.geometry?.coordinates) {\n let { position: _position, _offset } = handelGeometry(feature);\n position = _position;\n offset = _offset;\n }\n\n if (layer?.template) {\n let template = layer.template;\n let labelField = layer.labelField;\n\n setTitle(labelField && properties[labelField]);\n setContent(feature && template(feature));\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 currentCameraHeight = map.camera.positionCartographic.height;\n const viewThreshold = currentCameraHeight < height;\n const viewHeight = viewThreshold ? currentCameraHeight : height;\n if (!viewRef.current && map.autoView) {\n getView();\n }\n\n if (viewThreshold) {\n viewRef.current = null;\n }\n\n highlightLayer = highlightLayer || map.highlightLayer;\n highlightLayerRef.current = highlightLayer;\n highlightLayer.addHighlightFeature(feature);\n if (highlightLayer?.layer && map.autoView && !viewThreshold) {\n map.fitView({\n entity: highlightLayer.layer,\n height: viewHeight,\n });\n }\n };\n\n const hideTemplate = (_layer) => {\n if (_layer) {\n let layer = typeof _layer === 'string' ? map.getLayerByKey(_layer) : _layer;\n\n if (layer && layer.key && map.popupRef) {\n let _highlightLayer = map.getLayerByFeature(map.popupRef);\n if (_highlightLayer.key === layer.key) {\n onClose();\n }\n }\n } else {\n onClose();\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 // 关闭气泡\n const onClose = () => {\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\n map.popupRef = null;\n featureRef.current = null;\n infoToolRef?.current?.remove();\n\n map.layers.highlightFeature = null;\n\n if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n\n // 清除高亮\n highlightLayerRef.current?.clearHighlight?.();\n // highlightLayerRef.current.clearFeatures();\n\n // map.fitView();\n\n if (map.autoView) {\n setView();\n }\n };\n\n const getView = () => {\n //获取当前视角的pitch\n let pitch = map.camera.pitch;\n //获取当前视角的heading\n let heading = map.camera.heading;\n //获取当前视角的postion(位置)\n let position = map.camera.position;\n\n viewRef.current = {\n x: position.x,\n y: position.y,\n z: position.z,\n pitch: pitch,\n heading: heading,\n };\n };\n\n const setView = () => {\n if (viewRef.current) {\n map.camera.flyTo({\n //定位到范围中心点\n destination: {\n x: viewRef.current.x,\n y: viewRef.current.y,\n z: viewRef.current.z,\n },\n orientation: {\n heading: viewRef.current.heading, //左右方向\n pitch: viewRef.current.pitch, //上下方向\n roll: 0.0,\n },\n duration: 2,\n });\n\n viewRef.current = null;\n }\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\nPopup.propTypes = {\n map: PropTypes.object,\n feature: PropTypes.object,\n layer: PropTypes.object,\n highlightLayer: PropTypes.object,\n onClose: PropTypes.func,\n};\n\nexport default Popup;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/map/index.js
CHANGED
|
@@ -419,13 +419,16 @@ function Map(props) {
|
|
|
419
419
|
|
|
420
420
|
// 获取 3DTiles feature 属性
|
|
421
421
|
map.get3DTileFeatureProperties = function (feature) {
|
|
422
|
-
var _feature$getPropertyN;
|
|
423
422
|
var properties = {};
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
423
|
+
if (feature && feature.getPropertyNames) {
|
|
424
|
+
var propertyIds = feature.getPropertyNames() || [];
|
|
425
|
+
if (propertyIds !== null && propertyIds !== void 0 && propertyIds.length) {
|
|
426
|
+
var length = propertyIds.length;
|
|
427
|
+
for (var i = 0; i < length; ++i) {
|
|
428
|
+
var propertyId = propertyIds[i];
|
|
429
|
+
properties[propertyId] = feature.getProperty(propertyId);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
429
432
|
}
|
|
430
433
|
return properties;
|
|
431
434
|
};
|
|
@@ -651,19 +654,21 @@ function Map(props) {
|
|
|
651
654
|
// 注册图层组件事件
|
|
652
655
|
function registerEvent(feature, event) {
|
|
653
656
|
if (feature) {
|
|
654
|
-
var _feature$event;
|
|
655
|
-
var properties = map.getProperties(feature) || {};
|
|
656
|
-
if (feature instanceof _cesium.ImageryLayerFeatureInfo && feature !== null && feature !== void 0 && feature.data) {
|
|
657
|
-
properties = _objectSpread(_objectSpread({}, properties), {}, {
|
|
658
|
-
data: feature === null || feature === void 0 ? void 0 : feature.data
|
|
659
|
-
});
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
// 触发自身事件
|
|
663
|
-
(_feature$event = feature[event]) === null || _feature$event === void 0 || _feature$event.call(feature, properties);
|
|
664
657
|
var layer = map.getLayerByFeature(feature);
|
|
665
|
-
if (layer !== null && layer !== void 0 && layer[event]) {
|
|
666
|
-
|
|
658
|
+
if (layer !== null && layer !== void 0 && layer[event] || feature[event]) {
|
|
659
|
+
var _feature$event;
|
|
660
|
+
var properties = map.getProperties(feature) || {};
|
|
661
|
+
if (feature instanceof _cesium.ImageryLayerFeatureInfo && feature !== null && feature !== void 0 && feature.data) {
|
|
662
|
+
properties = _objectSpread(_objectSpread({}, properties), {}, {
|
|
663
|
+
data: feature === null || feature === void 0 ? void 0 : feature.data
|
|
664
|
+
});
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
// 触发自身事件
|
|
668
|
+
(_feature$event = feature[event]) === null || _feature$event === void 0 || _feature$event.call(feature, properties);
|
|
669
|
+
if (layer !== null && layer !== void 0 && layer[event]) {
|
|
670
|
+
layer[event](properties);
|
|
671
|
+
}
|
|
667
672
|
}
|
|
668
673
|
}
|
|
669
674
|
}
|
|
@@ -675,7 +680,7 @@ function Map(props) {
|
|
|
675
680
|
// 无法单独设置group内的图层
|
|
676
681
|
// 暂时为了取消行政区划影像图层的点击效果
|
|
677
682
|
if (layer) {
|
|
678
|
-
unclickable = layer.unclickable;
|
|
683
|
+
unclickable = layer.viewOnly || layer.unclickable;
|
|
679
684
|
}
|
|
680
685
|
return unclickable;
|
|
681
686
|
}
|
|
@@ -691,10 +696,16 @@ function Map(props) {
|
|
|
691
696
|
if (!map.cancelBubble) {
|
|
692
697
|
var pick = map.scene.pick(event.position);
|
|
693
698
|
if (pick instanceof _cesium.Cesium3DTileFeature) {
|
|
694
|
-
|
|
695
|
-
|
|
699
|
+
var layer = map.getLayerByFeature(pick);
|
|
700
|
+
if (layer) {
|
|
701
|
+
if (layer.unclickable) {
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
696
704
|
registerEvent(pick, 'onClick');
|
|
697
|
-
|
|
705
|
+
if (layer.template) {
|
|
706
|
+
map.onClickTemplateAfter && map.onClickTemplateAfter(pick);
|
|
707
|
+
map.showTemplate(pick);
|
|
708
|
+
}
|
|
698
709
|
}
|
|
699
710
|
} else {
|
|
700
711
|
var entity = map.pickDataSourcesFeature(event);
|