@vtx/cs-map 1.0.24 → 1.0.26
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/demand-layer/DemandLayer.js +410 -0
- package/lib/demand-layer/DemandLayer.js.map +1 -0
- package/lib/demand-layer/index.js +104 -0
- package/lib/demand-layer/index.js.map +1 -0
- package/lib/demand-layer/style/css.js +4 -0
- package/lib/demand-layer/style/css.js.map +1 -0
- package/lib/demand-layer/style/index.css +0 -0
- package/lib/demand-layer/style/index.js +4 -0
- package/lib/demand-layer/style/index.js.map +1 -0
- package/lib/demand-layer/style/index.less +0 -0
- package/lib/feature-layer/FeatureLayer.js +39 -28
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/index.js +2 -0
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/heatmap-layer/CesiumHeatmap.js +1 -1
- package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
- package/lib/heatmap-layer/index.js +2 -1
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/highlight-layer/HighlightLayer.js +31 -11
- package/lib/highlight-layer/HighlightLayer.js.map +1 -1
- package/lib/map/Popup.js +100 -24
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/index.js +35 -9
- package/lib/map/index.js.map +1 -1
- package/lib/polygon/Polygon.js +0 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/renderer/index.js +4 -3
- package/lib/renderer/index.js.map +1 -1
- package/lib/tools/dimension-switch/index.js +1 -0
- package/lib/tools/dimension-switch/index.js.map +1 -1
- package/lib/tools/index.js +2 -1
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/style/index.css +1 -1
- package/lib/tools/style/index.less +1 -1
- package/package.json +1 -1
|
@@ -30,8 +30,9 @@ var handleData = function handleData(data, map) {
|
|
|
30
30
|
var _data = [];
|
|
31
31
|
var datas = Array.isArray(data) ? data : [data];
|
|
32
32
|
datas.map(function (v) {
|
|
33
|
+
var _v$data;
|
|
33
34
|
// 影像图层的数据
|
|
34
|
-
if (v instanceof _cesium.ImageryLayerFeatureInfo) {
|
|
35
|
+
if (v instanceof _cesium.ImageryLayerFeatureInfo || v !== null && v !== void 0 && (_v$data = v.data) !== null && _v$data !== void 0 && (_v$data = _v$data.geometry) !== null && _v$data !== void 0 && _v$data.coordinates) {
|
|
35
36
|
var item = v.data || {};
|
|
36
37
|
var geometry = item.geometry;
|
|
37
38
|
var _ref = geometry || {},
|
|
@@ -43,7 +44,7 @@ var handleData = function handleData(data, map) {
|
|
|
43
44
|
})
|
|
44
45
|
}));
|
|
45
46
|
} else {
|
|
46
|
-
var _v$position, _v$_polyline;
|
|
47
|
+
var _v$position, _v$_polyline, _v$_polygon;
|
|
47
48
|
if (v !== null && v !== void 0 && (_v$position = v.position) !== null && _v$position !== void 0 && _v$position._value) {
|
|
48
49
|
var _v$position2;
|
|
49
50
|
handlePositionData({
|
|
@@ -61,6 +62,15 @@ var handleData = function handleData(data, map) {
|
|
|
61
62
|
feature: v,
|
|
62
63
|
type: 'Polyline'
|
|
63
64
|
});
|
|
65
|
+
} else if (v !== null && v !== void 0 && (_v$_polygon = v._polygon) !== null && _v$_polygon !== void 0 && (_v$_polygon = _v$_polygon._hierarchy) !== null && _v$_polygon !== void 0 && (_v$_polygon = _v$_polygon._value) !== null && _v$_polygon !== void 0 && _v$_polygon.positions) {
|
|
66
|
+
var _v$_polygon2;
|
|
67
|
+
handlePositionData({
|
|
68
|
+
data: _data,
|
|
69
|
+
position: v === null || v === void 0 || (_v$_polygon2 = v._polygon) === null || _v$_polygon2 === void 0 || (_v$_polygon2 = _v$_polygon2._hierarchy) === null || _v$_polygon2 === void 0 || (_v$_polygon2 = _v$_polygon2._value) === null || _v$_polygon2 === void 0 ? void 0 : _v$_polygon2.positions,
|
|
70
|
+
map: map,
|
|
71
|
+
feature: v,
|
|
72
|
+
type: 'Polygon'
|
|
73
|
+
});
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
});
|
|
@@ -98,6 +108,20 @@ var getLngLats = function getLngLats(position) {
|
|
|
98
108
|
lngLats.push(lat);
|
|
99
109
|
return lngLats;
|
|
100
110
|
};
|
|
111
|
+
var polygonStyle = {
|
|
112
|
+
type: 'Polygon',
|
|
113
|
+
style: {
|
|
114
|
+
stroke: {
|
|
115
|
+
color: '#f7ff01',
|
|
116
|
+
opacity: 1,
|
|
117
|
+
width: 2
|
|
118
|
+
},
|
|
119
|
+
fill: {
|
|
120
|
+
color: '#f7ff01',
|
|
121
|
+
opacity: 0.35
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
101
125
|
var lineStyle = {
|
|
102
126
|
type: 'Polyline',
|
|
103
127
|
style: {
|
|
@@ -133,27 +157,27 @@ var HighlightLayer = /*#__PURE__*/function () {
|
|
|
133
157
|
// 高亮图层增加feature
|
|
134
158
|
_defineProperty(this, "addHighlightFeature", function (feature) {
|
|
135
159
|
if (feature) {
|
|
136
|
-
var _feature$data, _feature$_polyline;
|
|
160
|
+
var _feature$data, _feature$_polyline, _feature$_polygon;
|
|
137
161
|
if (feature.primitive) {
|
|
138
162
|
return _this.addHighlightPrimitive(feature);
|
|
139
163
|
}
|
|
140
164
|
var type = feature === null || feature === void 0 || (_feature$data = feature.data) === null || _feature$data === void 0 || (_feature$data = _feature$data.geometry) === null || _feature$data === void 0 ? void 0 : _feature$data.type;
|
|
141
165
|
if (['LineString', 'MultiLineString'].includes(type)) {
|
|
142
166
|
_this.layer.style = lineStyle;
|
|
167
|
+
} else if (['Polygon', 'MultiPolygon'].includes(type)) {
|
|
168
|
+
_this.layer.style = polygonStyle;
|
|
143
169
|
} else if (['Point'].includes(type)) {
|
|
144
170
|
_this.layer.style = pointStyle;
|
|
145
171
|
} else if (feature !== null && feature !== void 0 && (_feature$_polyline = feature._polyline) !== null && _feature$_polyline !== void 0 && (_feature$_polyline = _feature$_polyline._positions) !== null && _feature$_polyline !== void 0 && _feature$_polyline._value) {
|
|
146
172
|
_this.layer.style = lineStyle;
|
|
173
|
+
} else if (feature !== null && feature !== void 0 && (_feature$_polygon = feature._polygon) !== null && _feature$_polygon !== void 0 && (_feature$_polygon = _feature$_polygon._hierarchy) !== null && _feature$_polygon !== void 0 && (_feature$_polygon = _feature$_polygon._value) !== null && _feature$_polygon !== void 0 && _feature$_polygon.positions) {
|
|
174
|
+
_this.layer.style = polygonStyle;
|
|
147
175
|
} else {
|
|
148
176
|
_this.layer.style = pointStyle;
|
|
149
177
|
}
|
|
150
178
|
var data = handleData(feature, _this.map, _this.layer);
|
|
151
179
|
_this.layer.data = data;
|
|
152
180
|
_this.layer.loadData(data);
|
|
153
|
-
_this.map.fitView({
|
|
154
|
-
entity: _this.layer,
|
|
155
|
-
height: 1000
|
|
156
|
-
});
|
|
157
181
|
}
|
|
158
182
|
});
|
|
159
183
|
_defineProperty(this, "addHighlightPrimitive", function (feature) {
|
|
@@ -168,10 +192,6 @@ var HighlightLayer = /*#__PURE__*/function () {
|
|
|
168
192
|
_this.map.scene.primitives.raiseToTop(_this.primitiveLayer);
|
|
169
193
|
_this.layer.data = data;
|
|
170
194
|
_this.layer.loadData(data);
|
|
171
|
-
_this.map.fitView({
|
|
172
|
-
entity: _this.layer,
|
|
173
|
-
height: 1000
|
|
174
|
-
});
|
|
175
195
|
}
|
|
176
196
|
});
|
|
177
197
|
var _options$isFit = options.isFit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HighlightLayer.js","names":["_FeatureLayer","_interopRequireDefault","require","_cesium","_CircleRippleMaterialProperty","_LineFlowLayer","_transformRgb","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","handleData","data","map","_data","datas","Array","isArray","v","ImageryLayerFeatureInfo","item","geometry","_ref","_ref$coordinates","coordinates","geometryInfo","lngLats","_v$position","_v$_polyline","position","_value","_v$position2","handlePositionData","feature","_polyline","_positions","_v$_polyline2","type","_ref2","_ref2$type","getLngLats","getProperties","cartographic","Cartographic","fromCartesian","lng","Math","toDegrees","longitude","lat","latitude","lineStyle","style","stroke","color","opacity","width","pointStyle","size","pixelOffset","Cartesian2","ellipse","semiMinorAxis","semiMajorAxis","material","CircleRippleMaterialProperty","Color","fromCssColorString","transformRgb","speed","count","gradient","HighlightLayer","options","_this","_feature$data","_feature$_polyline","primitive","addHighlightPrimitive","includes","layer","loadData","fitView","entity","height","LineFlowLayer","clearPrimitive","values_","primitiveLayer","fadeOutColor","scene","primitives","add","raiseToTop","_options$isFit","isFit","FeatureLayer","addLayer","remove","clearFeatures","entities","removeAll","destroy","dataSources","exports"],"sources":["highlight-layer/HighlightLayer.js"],"sourcesContent":["/**\n * 图层高亮操作\n */\nimport FeatureLayer from '../feature-layer/FeatureLayer';\nimport { Cartesian2, Cartographic, Math, ImageryLayerFeatureInfo, Color } from 'cesium';\nimport CircleRippleMaterialProperty from '../map/material/CircleRippleMaterialProperty';\nimport LineFlowLayer from '../line-flow-layer/LineFlowLayer';\nimport transformRgb from \"../_util/transformRgb\";\n\n/**\n * @description: wms图层点击获取的数据处理\n * @param {*} data\n * @return {*}\n */\nconst handleData = (data, map) => {\n let _data = [];\n let datas = Array.isArray(data) ? data : [data];\n datas.map(v => {\n // 影像图层的数据\n if (v instanceof ImageryLayerFeatureInfo) {\n let item = v.data || {};\n let { geometry } = item;\n let { coordinates = [] } = geometry || {};\n _data.push({ ...item, geometryInfo: { ...geometry, lngLats: coordinates } });\n } else {\n if (v?.position?._value) {\n handlePositionData({ data: _data, position: v?.position?._value, map, feature: v });\n } else if (v?._polyline?._positions?._value) {\n handlePositionData({\n data: _data,\n position: v?._polyline?._positions?._value,\n map,\n feature: v,\n type: 'Polyline',\n });\n }\n }\n });\n return _data;\n};\n\nconst handlePositionData = ({ data, position, map, feature, type = 'point' }) => {\n let lngLats = [];\n if (Array.isArray(position)) {\n position.map(v => {\n lngLats.push(getLngLats(v));\n });\n } else {\n // 点\n lngLats = getLngLats(position);\n }\n\n data.push({\n ...map.getProperties(feature),\n geometryInfo: {\n type: type,\n lngLats,\n },\n });\n};\n\nconst getLngLats = position => {\n let lngLats = [];\n\n let cartographic = Cartographic.fromCartesian(position);\n let lng = Math.toDegrees(cartographic?.longitude);\n lngLats.push(lng);\n let lat = Math.toDegrees(cartographic?.latitude);\n lngLats.push(lat);\n\n return lngLats;\n};\n\nconst lineStyle = {\n type: 'Polyline',\n style: {\n stroke: {\n color: '#f7ff01',\n opacity: 1,\n width: 2,\n },\n },\n};\n\nconst pointStyle = {\n style: {\n type: 'PointIcon',\n color: '#f7ff01',\n size: 10,\n pixelOffset: new Cartesian2(0, 10),\n ellipse: {\n semiMinorAxis: 50.0,\n semiMajorAxis: 50.0,\n material: new CircleRippleMaterialProperty({\n color: Color.fromCssColorString(transformRgb('#f7ff01', 0.7)),\n speed: 12.0,\n count: 3,\n gradient: 0.2,\n }),\n },\n },\n};\n\nexport default class HighlightLayer {\n constructor(options) {\n const { isFit = true } = options;\n\n this.map = options.map;\n this.layer = new FeatureLayer({\n style: lineStyle,\n });\n this.map.addLayer(this.layer);\n\n this.primitiveLayer = null;\n }\n\n // 高亮图层增加feature\n addHighlightFeature = feature => {\n if (feature) {\n if (feature.primitive) {\n return this.addHighlightPrimitive(feature);\n }\n let type = feature?.data?.geometry?.type;\n if (['LineString', 'MultiLineString'].includes(type)) {\n this.layer.style = lineStyle;\n } else if (['Point'].includes(type)) {\n this.layer.style = pointStyle;\n } else if (feature?._polyline?._positions?._value) {\n this.layer.style = lineStyle;\n } else {\n this.layer.style = pointStyle;\n }\n let data = handleData(feature, this.map, this.layer);\n this.layer.data = data;\n this.layer.loadData(data);\n this.map.fitView({ entity: this.layer, height: 1000 });\n }\n };\n\n addHighlightPrimitive = feature => {\n if (feature.primitive instanceof LineFlowLayer) {\n this.clearPrimitive();\n const data = [feature.values_];\n this.primitiveLayer = new LineFlowLayer({\n fadeOutColor: '#f7ff01',\n data: [feature.values_],\n });\n this.map.scene.primitives.add(this.primitiveLayer);\n this.map.scene.primitives.raiseToTop(this.primitiveLayer);\n this.layer.data = data;\n this.layer.loadData(data);\n this.map.fitView({ entity: this.layer, height: 1000 });\n }\n };\n\n clearPrimitive() {\n if (this.primitiveLayer) {\n this.map.scene.primitives.remove(this.primitiveLayer);\n }\n }\n\n clearFeatures() {\n this.layer.entities.removeAll();\n this.clearPrimitive();\n }\n\n destroy() {\n this.map.dataSources.remove(this.layer);\n this.clearPrimitive();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HighlightLayer.js","names":["_FeatureLayer","_interopRequireDefault","require","_cesium","_CircleRippleMaterialProperty","_LineFlowLayer","_transformRgb","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","handleData","data","map","_data","datas","Array","isArray","v","_v$data","ImageryLayerFeatureInfo","geometry","coordinates","item","_ref","_ref$coordinates","geometryInfo","lngLats","_v$position","_v$_polyline","_v$_polygon","position","_value","_v$position2","handlePositionData","feature","_polyline","_positions","_v$_polyline2","type","_polygon","_hierarchy","positions","_v$_polygon2","_ref2","_ref2$type","getLngLats","getProperties","cartographic","Cartographic","fromCartesian","lng","Math","toDegrees","longitude","lat","latitude","polygonStyle","style","stroke","color","opacity","width","fill","lineStyle","pointStyle","size","pixelOffset","Cartesian2","ellipse","semiMinorAxis","semiMajorAxis","material","CircleRippleMaterialProperty","Color","fromCssColorString","transformRgb","speed","count","gradient","HighlightLayer","options","_this","_feature$data","_feature$_polyline","_feature$_polygon","primitive","addHighlightPrimitive","includes","layer","loadData","LineFlowLayer","clearPrimitive","values_","primitiveLayer","fadeOutColor","scene","primitives","add","raiseToTop","_options$isFit","isFit","FeatureLayer","addLayer","remove","clearFeatures","entities","removeAll","destroy","dataSources","exports"],"sources":["highlight-layer/HighlightLayer.js"],"sourcesContent":["/**\n * 图层高亮操作\n */\nimport FeatureLayer from '../feature-layer/FeatureLayer';\nimport { Cartesian2, Cartographic, Math, ImageryLayerFeatureInfo, Color } from 'cesium';\nimport CircleRippleMaterialProperty from '../map/material/CircleRippleMaterialProperty';\nimport LineFlowLayer from '../line-flow-layer/LineFlowLayer';\nimport transformRgb from \"../_util/transformRgb\";\n\n/**\n * @description: wms图层点击获取的数据处理\n * @param {*} data\n * @return {*}\n */\nconst handleData = (data, map) => {\n let _data = [];\n let datas = Array.isArray(data) ? data : [data];\n datas.map(v => {\n // 影像图层的数据\n if (v instanceof ImageryLayerFeatureInfo || v?.data?.geometry?.coordinates) {\n let item = v.data || {};\n let { geometry } = item;\n let { coordinates = [] } = geometry || {};\n _data.push({ ...item, geometryInfo: { ...geometry, lngLats: coordinates } });\n } else {\n if (v?.position?._value) {\n handlePositionData({ data: _data, position: v?.position?._value, map, feature: v });\n } else if (v?._polyline?._positions?._value) {\n handlePositionData({\n data: _data,\n position: v?._polyline?._positions?._value,\n map,\n feature: v,\n type: 'Polyline',\n });\n } else if (v?._polygon?._hierarchy?._value?.positions) {\n handlePositionData({\n data: _data,\n position: v?._polygon?._hierarchy?._value?.positions,\n map,\n feature: v,\n type: 'Polygon',\n });\n }\n }\n });\n return _data;\n};\n\nconst handlePositionData = ({ data, position, map, feature, type = 'point' }) => {\n let lngLats = [];\n if (Array.isArray(position)) {\n position.map(v => {\n lngLats.push(getLngLats(v));\n });\n } else {\n // 点\n lngLats = getLngLats(position);\n }\n\n data.push({\n ...map.getProperties(feature),\n geometryInfo: {\n type: type,\n lngLats,\n },\n });\n};\n\nconst getLngLats = position => {\n let lngLats = [];\n\n let cartographic = Cartographic.fromCartesian(position);\n let lng = Math.toDegrees(cartographic?.longitude);\n lngLats.push(lng);\n let lat = Math.toDegrees(cartographic?.latitude);\n lngLats.push(lat);\n\n return lngLats;\n};\n\nconst polygonStyle = {\n type: 'Polygon',\n style: {\n stroke: {\n color: '#f7ff01',\n opacity: 1,\n width: 2,\n },\n fill: {\n color: '#f7ff01',\n opacity: 0.35,\n },\n },\n};\n\nconst lineStyle = {\n type: 'Polyline',\n style: {\n stroke: {\n color: '#f7ff01',\n opacity: 1,\n width: 2,\n },\n },\n};\n\nconst pointStyle = {\n style: {\n type: 'PointIcon',\n color: '#f7ff01',\n size: 10,\n pixelOffset: new Cartesian2(0, 10),\n ellipse: {\n semiMinorAxis: 50.0,\n semiMajorAxis: 50.0,\n material: new CircleRippleMaterialProperty({\n color: Color.fromCssColorString(transformRgb('#f7ff01', 0.7)),\n speed: 12.0,\n count: 3,\n gradient: 0.2,\n }),\n },\n },\n};\n\nexport default class HighlightLayer {\n constructor(options) {\n const { isFit = true } = options;\n\n this.map = options.map;\n this.layer = new FeatureLayer({\n style: lineStyle,\n });\n this.map.addLayer(this.layer);\n\n this.primitiveLayer = null;\n }\n\n // 高亮图层增加feature\n addHighlightFeature = feature => {\n if (feature) {\n if (feature.primitive) {\n return this.addHighlightPrimitive(feature);\n }\n let type = feature?.data?.geometry?.type;\n if (['LineString', 'MultiLineString'].includes(type)) {\n this.layer.style = lineStyle;\n } else if (['Polygon', 'MultiPolygon'].includes(type)) {\n this.layer.style = polygonStyle;\n } else if (['Point'].includes(type)) {\n this.layer.style = pointStyle;\n } else if (feature?._polyline?._positions?._value) {\n this.layer.style = lineStyle;\n } else if (feature?._polygon?._hierarchy?._value?.positions) {\n this.layer.style = polygonStyle;\n } else {\n this.layer.style = pointStyle;\n }\n let data = handleData(feature, this.map, this.layer);\n this.layer.data = data;\n this.layer.loadData(data);\n }\n };\n\n addHighlightPrimitive = feature => {\n if (feature.primitive instanceof LineFlowLayer) {\n this.clearPrimitive();\n const data = [feature.values_];\n this.primitiveLayer = new LineFlowLayer({\n fadeOutColor: '#f7ff01',\n data: [feature.values_],\n });\n this.map.scene.primitives.add(this.primitiveLayer);\n this.map.scene.primitives.raiseToTop(this.primitiveLayer);\n this.layer.data = data;\n this.layer.loadData(data);\n }\n };\n\n clearPrimitive() {\n if (this.primitiveLayer) {\n this.map.scene.primitives.remove(this.primitiveLayer);\n }\n }\n\n clearFeatures() {\n this.layer.entities.removeAll();\n this.clearPrimitive();\n }\n\n destroy() {\n this.map.dataSources.remove(this.layer);\n this.clearPrimitive();\n }\n}\n"],"mappings":"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"}
|
package/lib/map/Popup.js
CHANGED
|
@@ -11,7 +11,8 @@ 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
|
|
14
|
+
var _Polygon = _interopRequireDefault(require("../polygon/Polygon"));
|
|
15
|
+
var _Polyline = _interopRequireDefault(require("../polyline/Polyline"));
|
|
15
16
|
var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
|
|
16
17
|
var _HighlightLayer = _interopRequireDefault(require("../highlight-layer/HighlightLayer"));
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -88,6 +89,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
88
89
|
map: map
|
|
89
90
|
}));
|
|
90
91
|
var highlightLayer = (0, _react.useRef)();
|
|
92
|
+
var viewRef = (0, _react.useRef)();
|
|
91
93
|
(0, _react.useEffect)(function () {
|
|
92
94
|
highlightLayer.current = new _HighlightLayer["default"]({
|
|
93
95
|
map: map
|
|
@@ -105,7 +107,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
105
107
|
};
|
|
106
108
|
});
|
|
107
109
|
var showTemplate = function showTemplate(feature) {
|
|
108
|
-
var _feature$
|
|
110
|
+
var _feature$_position;
|
|
109
111
|
var layer = map.getLayerByFeature(feature);
|
|
110
112
|
if (!(layer !== null && layer !== void 0 && layer.template)) {
|
|
111
113
|
return;
|
|
@@ -116,26 +118,58 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
116
118
|
if (layer) {
|
|
117
119
|
var template = layer.template;
|
|
118
120
|
var labelField = layer.labelField;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
if (template) {
|
|
123
|
-
setContent(template(feature));
|
|
124
|
-
}
|
|
121
|
+
setTitle(labelField && properties[labelField]);
|
|
122
|
+
setContent(feature && template(feature));
|
|
125
123
|
}
|
|
126
|
-
var
|
|
127
|
-
var _positions = (feature === null || feature === void 0 || (_feature$_polyline = feature._polyline) === null || _feature$_polyline === void 0 || (_feature$_polyline = _feature$_polyline._positions) === null || _feature$_polyline === void 0 ? void 0 : _feature$_polyline._value) || [];
|
|
128
|
-
var position = (feature === null || feature === void 0 || (_feature$_position = feature._position) === null || _feature$_position === void 0 ? void 0 : _feature$_position._value) || _positions[(_positions === null || _positions === void 0 ? void 0 : _positions.length) - 1];
|
|
124
|
+
var position = feature === null || feature === void 0 || (_feature$_position = feature._position) === null || _feature$_position === void 0 ? void 0 : _feature$_position._value;
|
|
129
125
|
// 偏移量
|
|
130
126
|
var offset = {
|
|
131
127
|
x: 5,
|
|
132
128
|
y: 76
|
|
133
129
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
130
|
+
var height = 1000;
|
|
131
|
+
if (feature instanceof _Polygon["default"]) {
|
|
132
|
+
var _feature$_polygon;
|
|
133
|
+
var coordinates = [((feature === null || feature === void 0 || (_feature$_polygon = feature._polygon) === null || _feature$_polygon === void 0 || (_feature$_polygon = _feature$_polygon._hierarchy) === null || _feature$_polygon === void 0 || (_feature$_polygon = _feature$_polygon._value) === null || _feature$_polygon === void 0 ? void 0 : _feature$_polygon.positions) || []).map(function (v) {
|
|
134
|
+
var cartographic = _cesium.Cartographic.fromCartesian(v); // 经纬高对象
|
|
135
|
+
var lng = _cesium.Math.toDegrees(cartographic.longitude);
|
|
136
|
+
var lat = _cesium.Math.toDegrees(cartographic.latitude);
|
|
137
|
+
return [lng, lat];
|
|
138
|
+
})];
|
|
139
|
+
var _handelGeometry = handelGeometry({
|
|
140
|
+
data: {
|
|
141
|
+
geometry: {
|
|
142
|
+
type: 'Polygon',
|
|
143
|
+
coordinates: coordinates
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}),
|
|
147
|
+
_position = _handelGeometry.position,
|
|
148
|
+
_offset = _handelGeometry._offset;
|
|
149
|
+
position = _position;
|
|
150
|
+
offset = _offset;
|
|
151
|
+
height = null;
|
|
152
|
+
} else if (feature instanceof _Polyline["default"]) {
|
|
153
|
+
var _feature$_polyline;
|
|
154
|
+
var _coordinates = ((feature === null || feature === void 0 || (_feature$_polyline = feature._polyline) === null || _feature$_polyline === void 0 || (_feature$_polyline = _feature$_polyline._positions) === null || _feature$_polyline === void 0 ? void 0 : _feature$_polyline._value) || []).map(function (v) {
|
|
155
|
+
var cartographic = _cesium.Cartographic.fromCartesian(v); // 经纬高对象
|
|
156
|
+
var lng = _cesium.Math.toDegrees(cartographic.longitude);
|
|
157
|
+
var lat = _cesium.Math.toDegrees(cartographic.latitude);
|
|
158
|
+
return [lng, lat];
|
|
159
|
+
});
|
|
160
|
+
var _handelGeometry2 = handelGeometry({
|
|
161
|
+
data: {
|
|
162
|
+
geometry: {
|
|
163
|
+
type: 'LineString',
|
|
164
|
+
coordinates: _coordinates
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}),
|
|
168
|
+
_position2 = _handelGeometry2.position,
|
|
169
|
+
_offset2 = _handelGeometry2._offset;
|
|
170
|
+
position = _position2;
|
|
171
|
+
offset = _offset2;
|
|
172
|
+
height = null;
|
|
139
173
|
}
|
|
140
174
|
if (feature.primitive) {
|
|
141
175
|
var _midpoint$geometry;
|
|
@@ -155,13 +189,11 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
155
189
|
|
|
156
190
|
// 影像图层的数据
|
|
157
191
|
if (feature instanceof _cesium.ImageryLayerFeatureInfo) {
|
|
158
|
-
var
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
geometryType = _geometryType;
|
|
164
|
-
offset = _offset;
|
|
192
|
+
var _handelGeometry3 = handelGeometry(feature),
|
|
193
|
+
_position3 = _handelGeometry3.position,
|
|
194
|
+
_offset3 = _handelGeometry3._offset;
|
|
195
|
+
position = _position3;
|
|
196
|
+
offset = _offset3;
|
|
165
197
|
}
|
|
166
198
|
infoToolRef.current.add({
|
|
167
199
|
position: position,
|
|
@@ -173,6 +205,13 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
173
205
|
});
|
|
174
206
|
map.popupRef = feature;
|
|
175
207
|
highlightLayer.current.addHighlightFeature(feature);
|
|
208
|
+
if (!viewRef.current) {
|
|
209
|
+
getView();
|
|
210
|
+
}
|
|
211
|
+
map.fitView({
|
|
212
|
+
entity: feature,
|
|
213
|
+
height: height
|
|
214
|
+
});
|
|
176
215
|
};
|
|
177
216
|
var hideTemplate = function hideTemplate(_layer) {
|
|
178
217
|
if (_layer) {
|
|
@@ -210,8 +249,45 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
210
249
|
highlightLayer.current.clearFeatures();
|
|
211
250
|
|
|
212
251
|
// map.fitView();
|
|
213
|
-
};
|
|
214
252
|
|
|
253
|
+
setView();
|
|
254
|
+
};
|
|
255
|
+
var getView = function getView() {
|
|
256
|
+
//获取当前视角的pitch
|
|
257
|
+
var pitch = map.camera.pitch;
|
|
258
|
+
//获取当前视角的heading
|
|
259
|
+
var heading = map.camera.heading;
|
|
260
|
+
//获取当前视角的postion(位置)
|
|
261
|
+
var position = map.camera.position;
|
|
262
|
+
viewRef.current = {
|
|
263
|
+
"x": position.x,
|
|
264
|
+
"y": position.y,
|
|
265
|
+
"z": position.z,
|
|
266
|
+
"pitch": pitch,
|
|
267
|
+
"heading": heading
|
|
268
|
+
};
|
|
269
|
+
};
|
|
270
|
+
var setView = function setView() {
|
|
271
|
+
if (viewRef.current) {
|
|
272
|
+
map.camera.flyTo({
|
|
273
|
+
//定位到范围中心点
|
|
274
|
+
destination: {
|
|
275
|
+
x: viewRef.current.x,
|
|
276
|
+
y: viewRef.current.y,
|
|
277
|
+
z: viewRef.current.z
|
|
278
|
+
},
|
|
279
|
+
orientation: {
|
|
280
|
+
heading: viewRef.current.heading,
|
|
281
|
+
//左右方向
|
|
282
|
+
pitch: viewRef.current.pitch,
|
|
283
|
+
//上下方向
|
|
284
|
+
roll: 0.0
|
|
285
|
+
},
|
|
286
|
+
duration: 2
|
|
287
|
+
});
|
|
288
|
+
viewRef.current = null;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
215
291
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
216
292
|
ref: popupRef,
|
|
217
293
|
className: (0, _classnames["default"])('cesium-popup', {
|
package/lib/map/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","_layer","getLayerByKey","_highlightLayer","onClose","judgeAbnormal","_ref","status","_infoToolRef$current","onCloseTemplateBefore","remove","entities","getById","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 map.highlightLayer = highlightLayer.current;\n\n return () => {\n highlightLayer.current.destroy();\n map.highlightLayer = null;\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 = _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 if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n\n // 清除高亮\n highlightLayer.current.clearFeatures();\n\n // map.fitView();\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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"}
|
|
1
|
+
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_cesium","_icons","_InfoTool","_interopRequireDefault","_classnames","_turf","_Polygon","_Polyline","_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","viewRef","useEffect","current","HighlightLayer","destroy","useImperativeHandle","showTemplate","hideTemplate","feature","_feature$_position","layer","getLayerByFeature","template","properties","getProperties","values_","labelField","_position","_value","height","PolygonGeo","_feature$_polygon","_polygon","_hierarchy","positions","v","cartographic","Cartographic","fromCartesian","lng","CesiumMath","toDegrees","longitude","lat","latitude","_handelGeometry","PolylineGeo","_feature$_polyline","_polyline","_positions","_handelGeometry2","primitive","_midpoint$geometry","transformGeometry","geometryInfo","_geometry$coordinates","ImageryLayerFeatureInfo","_handelGeometry3","add","element","inputFeature","addHighlightFeature","getView","fitView","_layer","getLayerByKey","_highlightLayer","onClose","judgeAbnormal","_ref","status","_infoToolRef$current","onCloseTemplateBefore","remove","entities","getById","clearFeatures","setView","pitch","camera","heading","z","flyTo","destination","orientation","roll","duration","createElement","className","classnames","CloseOutlined","width","onClick","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport { ImageryLayerFeatureInfo, Cartesian3, Cartographic, Math as CesiumMath } 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 PolygonGeo from '../polygon/Polygon';\nimport PolylineGeo from '../polyline/Polyline';\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 const viewRef = useRef();\n\n useEffect(() => {\n highlightLayer.current = new HighlightLayer({ map });\n map.highlightLayer = highlightLayer.current;\n\n return () => {\n highlightLayer.current.destroy();\n map.highlightLayer = null;\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 setTitle(labelField && properties[labelField]);\n setContent(feature && template(feature));\n }\n\n\n let position = feature?._position?._value;\n // 偏移量\n let offset = {\n x: 5,\n y: 76,\n };\n\n let height = 1000;\n if (feature instanceof PolygonGeo) {\n let coordinates = [(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 let { position: _position, _offset } = handelGeometry({data: {geometry: {type: 'Polygon', coordinates}}});\n position = _position;\n offset = _offset;\n height = null;\n } else if (feature instanceof PolylineGeo) {\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({data: {geometry: {type: 'LineString', coordinates}}});\n position = _position;\n offset = _offset;\n height = null;\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, _offset } = handelGeometry(feature);\n position = _position;\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 highlightLayer.current.addHighlightFeature(feature);\n\n if (!viewRef.current) {\n getView();\n }\n\n map.fitView({ entity: feature, height });\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 if (map.entities.getById('highlight-1')) {\n map.entities.remove(map.entities.getById('highlight-1'));\n }\n\n // 清除高亮\n highlightLayer.current.clearFeatures();\n\n // map.fitView();\n\n setView();\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 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\nexport default Popup;\n"],"mappings":"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"}
|
package/lib/map/index.js
CHANGED
|
@@ -60,7 +60,12 @@ function Map(props) {
|
|
|
60
60
|
onEvents = _props$onEvents === void 0 ? {} : _props$onEvents,
|
|
61
61
|
baseMapUrl = props.baseMapUrl,
|
|
62
62
|
_props$duration = props.duration,
|
|
63
|
-
duration = _props$duration === void 0 ? 3 : _props$duration
|
|
63
|
+
duration = _props$duration === void 0 ? 3 : _props$duration,
|
|
64
|
+
_props$baseMapStyle = props.baseMapStyle,
|
|
65
|
+
baseMapStyle = _props$baseMapStyle === void 0 ? {
|
|
66
|
+
imageryProvider: 'GeoQImageryProvider',
|
|
67
|
+
style: 'Blue'
|
|
68
|
+
} : _props$baseMapStyle;
|
|
64
69
|
var _useState = (0, _react.useState)(false),
|
|
65
70
|
_useState2 = _slicedToArray(_useState, 2),
|
|
66
71
|
mapLoaded = _useState2[0],
|
|
@@ -156,8 +161,8 @@ function Map(props) {
|
|
|
156
161
|
maxZoom: maxZoom && Number(maxZoom) || 20
|
|
157
162
|
};
|
|
158
163
|
_cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhZjc0ZDQ1ZS0wNWNhLTRhMDQtODJmYy03NTcyNDcxYzgzMDUiLCJpZCI6NzE4MTQsImlhdCI6MTYzNTQ3NzgyNX0.4TrdZWPWc9_6jLeGe90bRmBPB14XptwinSewVMu1iCE';
|
|
159
|
-
var imageryProvider = new _base.Imagery.
|
|
160
|
-
style:
|
|
164
|
+
var imageryProvider = new _base.Imagery[baseMapStyle.imageryProvider]({
|
|
165
|
+
style: baseMapStyle.style,
|
|
161
166
|
url: baseMapUrl,
|
|
162
167
|
crs: 'WGS84'
|
|
163
168
|
});
|
|
@@ -206,8 +211,8 @@ function Map(props) {
|
|
|
206
211
|
// 底图服务
|
|
207
212
|
map.baseMap = new _base.BaseMap({
|
|
208
213
|
map: map,
|
|
209
|
-
imageryProvider:
|
|
210
|
-
style:
|
|
214
|
+
imageryProvider: baseMapStyle.imageryProvider,
|
|
215
|
+
style: baseMapStyle.style,
|
|
211
216
|
layer: imageryProvider
|
|
212
217
|
});
|
|
213
218
|
|
|
@@ -426,6 +431,17 @@ function Map(props) {
|
|
|
426
431
|
setTip(null);
|
|
427
432
|
};
|
|
428
433
|
|
|
434
|
+
// 根据图层条件设置图层选中
|
|
435
|
+
map.showTemplateByFilter = function (key, field, value) {
|
|
436
|
+
var layer = map.getLayerByKey(key);
|
|
437
|
+
if (layer !== null && layer !== void 0 && layer.show) {
|
|
438
|
+
var feature = layer.getFeatureByFieldValue(field, value);
|
|
439
|
+
if (feature) {
|
|
440
|
+
map.showTemplate(feature);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
|
|
429
445
|
// 展示看板
|
|
430
446
|
map.showTemplate = function (feature) {
|
|
431
447
|
popupRef.current.showTemplate(feature);
|
|
@@ -546,7 +562,7 @@ function Map(props) {
|
|
|
546
562
|
return feature._id;
|
|
547
563
|
};
|
|
548
564
|
|
|
549
|
-
//
|
|
565
|
+
// 鼠标移入移出
|
|
550
566
|
handlePoint.setInputAction(function (event) {
|
|
551
567
|
event.lonLat = map.getPositionLonLat({
|
|
552
568
|
position: event.endPosition
|
|
@@ -556,6 +572,14 @@ function Map(props) {
|
|
|
556
572
|
position: event.endPosition
|
|
557
573
|
});
|
|
558
574
|
if (feature) {
|
|
575
|
+
var _map$getLayerByFeatur;
|
|
576
|
+
var labelField = (_map$getLayerByFeatur = map.getLayerByFeature(feature)) === null || _map$getLayerByFeatur === void 0 ? void 0 : _map$getLayerByFeatur.labelField;
|
|
577
|
+
if (labelField) {
|
|
578
|
+
var label = feature.properties[labelField]._value;
|
|
579
|
+
if (label) {
|
|
580
|
+
map.showTip(label);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
559
583
|
registerEvent(feature, 'onMouseMove');
|
|
560
584
|
|
|
561
585
|
// 判断是否在图形内移动
|
|
@@ -579,6 +603,7 @@ function Map(props) {
|
|
|
579
603
|
registerEvent(hoverFeature, 'onMouseLeave');
|
|
580
604
|
}
|
|
581
605
|
hoverFeature = null;
|
|
606
|
+
map.hideTip();
|
|
582
607
|
}
|
|
583
608
|
}, _cesium.ScreenSpaceEventType.MOUSE_MOVE);
|
|
584
609
|
|
|
@@ -651,7 +676,7 @@ function Map(props) {
|
|
|
651
676
|
pitch: _cesium.Math.toRadians(-35),
|
|
652
677
|
roll: 0.0
|
|
653
678
|
},
|
|
654
|
-
duration:
|
|
679
|
+
duration: 2
|
|
655
680
|
}, options));
|
|
656
681
|
} else {
|
|
657
682
|
map.camera.flyTo({
|
|
@@ -660,7 +685,7 @@ function Map(props) {
|
|
|
660
685
|
pitch: _cesium.Math.toRadians(defaultPitch),
|
|
661
686
|
roll: 0.0
|
|
662
687
|
},
|
|
663
|
-
duration:
|
|
688
|
+
duration: 2
|
|
664
689
|
});
|
|
665
690
|
}
|
|
666
691
|
}
|
|
@@ -752,6 +777,7 @@ Map.propTypes = {
|
|
|
752
777
|
tk: _propTypes["default"].string.isRequired,
|
|
753
778
|
onEvents: _propTypes["default"].object,
|
|
754
779
|
baseMapUrl: _propTypes["default"].string,
|
|
755
|
-
duration: _propTypes["default"].number
|
|
780
|
+
duration: _propTypes["default"].number,
|
|
781
|
+
baseMapStyle: _propTypes["default"].object
|
|
756
782
|
};
|
|
757
783
|
//# sourceMappingURL=index.js.map
|