@vtx/cs-map 1.0.43 → 1.0.45

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 (39) hide show
  1. package/lib/_util/layer.js +59 -4
  2. package/lib/_util/layer.js.map +1 -1
  3. package/lib/feature-layer/FeatureLayer.js +80 -40
  4. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  5. package/lib/feature-layer/index.js +7 -2
  6. package/lib/feature-layer/index.js.map +1 -1
  7. package/lib/group-layer/GroupLayer.js +2 -2
  8. package/lib/group-layer/GroupLayer.js.map +1 -1
  9. package/lib/group-layer/index.js +2 -2
  10. package/lib/group-layer/index.js.map +1 -1
  11. package/lib/image-layer/ImageLayer.js +7 -0
  12. package/lib/image-layer/ImageLayer.js.map +1 -1
  13. package/lib/label/Label.js +1 -3
  14. package/lib/label/Label.js.map +1 -1
  15. package/lib/map/Layers.js +8 -4
  16. package/lib/map/Layers.js.map +1 -1
  17. package/lib/map/Popup.js +110 -13
  18. package/lib/map/Popup.js.map +1 -1
  19. package/lib/map/hooks/useGetMapFeatureInfoByText.js +82 -77
  20. package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
  21. package/lib/map/index.js +5 -5
  22. package/lib/map/index.js.map +1 -1
  23. package/lib/map/style/index.css +63 -0
  24. package/lib/map/style/index.less +86 -0
  25. package/lib/renderer/index.js +18 -2
  26. package/lib/renderer/index.js.map +1 -1
  27. package/lib/tools/index.js +2 -1
  28. package/lib/tools/index.js.map +1 -1
  29. package/lib/tools/layer-control-popover/LayersCheckService.js +90 -0
  30. package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -0
  31. package/lib/tools/layer-control-popover/index.js +230 -0
  32. package/lib/tools/layer-control-popover/index.js.map +1 -0
  33. package/lib/tools/map-search/index.js +6 -6
  34. package/lib/tools/map-search/index.js.map +1 -1
  35. package/lib/tools/style/index.css +57 -0
  36. package/lib/tools/style/index.less +51 -0
  37. package/lib/water-surface-layer/index.js +3 -3
  38. package/lib/water-surface-layer/index.js.map +1 -1
  39. package/package.json +12 -12
package/lib/map/Popup.js CHANGED
@@ -8,6 +8,7 @@ exports.handelGeometry = exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _cesium = require("cesium");
10
10
  var _icons = require("@ant-design/icons");
11
+ var _antd = require("antd");
11
12
  var _InfoTool = _interopRequireDefault(require("./InfoTool"));
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _turf = require("@turf/turf");
@@ -27,6 +28,50 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
27
28
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
28
29
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
29
30
  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; }
31
+ var Cluster = function Cluster(props) {
32
+ var layer = props.layer,
33
+ features = props.features,
34
+ onFeatureClick = props.onFeatureClick,
35
+ onFitView = props.onFitView;
36
+ var labelField = layer.labelField;
37
+ return /*#__PURE__*/_react["default"].createElement("div", {
38
+ className: (0, _classnames["default"])('cs-map-popup-cluster')
39
+ }, /*#__PURE__*/_react["default"].createElement("div", {
40
+ className: (0, _classnames["default"])('cs-map-popup-cluster-header')
41
+ }, "\u5171 ", features.length, " \u4E2A\u70B9\u4F4D", /*#__PURE__*/_react["default"].createElement("a", {
42
+ onClick: onFitView
43
+ }, "\u7F29\u653E\u81F3")), /*#__PURE__*/_react["default"].createElement(_antd.Table, {
44
+ pagination: false,
45
+ size: "small",
46
+ dataSource: features,
47
+ scroll: {
48
+ y: 120
49
+ },
50
+ columns: [{
51
+ title: '名称',
52
+ dataIndex: '名称',
53
+ width: 60,
54
+ render: function render(text, record) {
55
+ return /*#__PURE__*/_react["default"].createElement("a", {
56
+ onClick: function onClick() {
57
+ return onFeatureClick(record);
58
+ }
59
+ }, record.values_[labelField]);
60
+ }
61
+ }, {
62
+ title: '操作',
63
+ dataIndex: '操作',
64
+ width: 30,
65
+ render: function render(text, record) {
66
+ return /*#__PURE__*/_react["default"].createElement("a", {
67
+ onClick: function onClick() {
68
+ return onFeatureClick(record);
69
+ }
70
+ }, "\u5B9A\u4F4D");
71
+ }
72
+ }]
73
+ }));
74
+ };
30
75
  var handelGeometry = exports.handelGeometry = function handelGeometry(entity) {
31
76
  var _entity$data, _midpoint;
32
77
  var geometry = entity === null || entity === void 0 || (_entity$data = entity.data) === null || _entity$data === void 0 ? void 0 : _entity$data.geometry;
@@ -95,6 +140,59 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
95
140
  });
96
141
  var showTemplate = function showTemplate(feature, highlightLayer) {
97
142
  var _feature$_position, _feature$data, _highlightLayer2;
143
+ // 判断是否为聚合点击
144
+ if (feature && feature.length >= 2) {
145
+ var _layer2$_options;
146
+ var points = [];
147
+ var features = feature.map(function (f) {
148
+ var properties = map.getProperties(f);
149
+ points.push((0, _turf.point)(f.geometry));
150
+ return {
151
+ feature: f,
152
+ geometryInfo: (properties === null || properties === void 0 ? void 0 : properties.geometryInfo) || {
153
+ type: 'point',
154
+ lngLats: f.geometry.join(','),
155
+ coordType: 'wgs84'
156
+ },
157
+ values_: properties,
158
+ properties: properties
159
+ };
160
+ });
161
+ var center = (0, _turf.centerOfMass)((0, _turf.featureCollection)(points));
162
+ var _handelGeometry = handelGeometry({
163
+ data: center
164
+ }),
165
+ _position2 = _handelGeometry.position;
166
+ var _layer2 = map.getLayerByFeature(feature[0]);
167
+ infoToolRef.current.add({
168
+ position: _position2,
169
+ content: '',
170
+ element: popupRef.current,
171
+ inputFeature: feature,
172
+ type: '',
173
+ offset: {
174
+ x: 0,
175
+ y: 50
176
+ }
177
+ });
178
+
179
+ // 判断是否有自定义聚合列表模版
180
+ var Template = (_layer2 === null || _layer2 === void 0 || (_layer2$_options = _layer2._options) === null || _layer2$_options === void 0 || (_layer2$_options = _layer2$_options.cluster) === null || _layer2$_options === void 0 ? void 0 : _layer2$_options.template) || Cluster;
181
+ setContent( /*#__PURE__*/_react["default"].createElement(Template, {
182
+ layer: _layer2,
183
+ features: features,
184
+ onFitView: function onFitView() {
185
+ map.fitView({
186
+ data: features
187
+ });
188
+ hideTemplate();
189
+ },
190
+ onFeatureClick: function onFeatureClick(f) {
191
+ showTemplate(f.feature, highlightLayer);
192
+ }
193
+ }));
194
+ return;
195
+ }
98
196
  var layer = map.getLayerByFeature(feature);
99
197
  if (!(layer !== null && layer !== void 0 && layer.template)) {
100
198
  return;
@@ -115,7 +213,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
115
213
  y: 76
116
214
  };
117
215
  var height = 5000;
118
- if (feature instanceof _Polygon["default"]) {
216
+ if (feature instanceof _Polygon["default"] || feature !== null && feature !== void 0 && feature._polygon) {
119
217
  var _feature$_polygon;
120
218
  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) {
121
219
  var cartographic = _cesium.Cartographic.fromCartesian(v); // 经纬高对象
@@ -123,7 +221,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
123
221
  var lat = _cesium.Math.toDegrees(cartographic.latitude);
124
222
  return [lng, lat];
125
223
  })];
126
- var _handelGeometry = handelGeometry({
224
+ var _handelGeometry2 = handelGeometry({
127
225
  data: {
128
226
  geometry: {
129
227
  type: 'Polygon',
@@ -131,8 +229,8 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
131
229
  }
132
230
  }
133
231
  }),
134
- _position = _handelGeometry.position,
135
- _offset = _handelGeometry._offset;
232
+ _position = _handelGeometry2.position,
233
+ _offset = _handelGeometry2._offset;
136
234
  position = _position;
137
235
  offset = _offset;
138
236
  height = null;
@@ -144,7 +242,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
144
242
  var lat = _cesium.Math.toDegrees(cartographic.latitude);
145
243
  return [lng, lat];
146
244
  });
147
- var _handelGeometry2 = handelGeometry({
245
+ var _handelGeometry3 = handelGeometry({
148
246
  data: {
149
247
  geometry: {
150
248
  type: 'LineString',
@@ -152,13 +250,12 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
152
250
  }
153
251
  }
154
252
  }),
155
- _position2 = _handelGeometry2.position,
156
- _offset2 = _handelGeometry2._offset;
157
- position = _position2;
253
+ _position3 = _handelGeometry3.position,
254
+ _offset2 = _handelGeometry3._offset;
255
+ position = _position3;
158
256
  offset = _offset2;
159
257
  height = null;
160
258
  }
161
- console.log("feature:", feature);
162
259
  if (feature.primitive) {
163
260
  var _midpoint$geometry;
164
261
  offset = {
@@ -177,10 +274,10 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
177
274
 
178
275
  // 影像图层的数据
179
276
  if (feature instanceof _cesium.ImageryLayerFeatureInfo || feature !== null && feature !== void 0 && (_feature$data = feature.data) !== null && _feature$data !== void 0 && (_feature$data = _feature$data.geometry) !== null && _feature$data !== void 0 && _feature$data.coordinates) {
180
- var _handelGeometry3 = handelGeometry(feature),
181
- _position3 = _handelGeometry3.position,
182
- _offset3 = _handelGeometry3._offset;
183
- position = _position3;
277
+ var _handelGeometry4 = handelGeometry(feature),
278
+ _position4 = _handelGeometry4.position,
279
+ _offset3 = _handelGeometry4._offset;
280
+ position = _position4;
184
281
  offset = _offset3;
185
282
  }
186
283
  infoToolRef.current.add({
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_cesium","_icons","_InfoTool","_interopRequireDefault","_classnames","_turf","_Polygon","_Polyline","_createFeatureCollection","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","exports","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","Popup","forwardRef","props","ref","map","_useState","useState","_useState2","content","setContent","_useState3","_useState4","title","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","viewRef","useImperativeHandle","showTemplate","hideTemplate","feature","highlightLayer","_feature$_position","_feature$data","_highlightLayer2","layer","getLayerByFeature","template","properties","getProperties","values_","current","labelField","_position","_value","height","PolygonGeo","_feature$_polygon","_polygon","_hierarchy","positions","v","cartographic","Cartographic","fromCartesian","lng","CesiumMath","toDegrees","longitude","lat","latitude","_handelGeometry","PolylineGeo","_polyline","_feature$_polyline","_positions","_handelGeometry2","console","log","primitive","_midpoint$geometry","transformGeometry","geometryInfo","_geometry$coordinates","ImageryLayerFeatureInfo","_handelGeometry3","add","element","inputFeature","autoView","getView","addHighlightFeature","fitView","_layer","getLayerByKey","_highlightLayer","onClose","judgeAbnormal","_ref","status","_infoToolRef$current","onCloseTemplateBefore","remove","entities","getById","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';\r\nimport { ImageryLayerFeatureInfo, Cartesian3, Cartographic, Math as CesiumMath } from 'cesium';\r\nimport { CloseOutlined } from '@ant-design/icons';\r\nimport InfoTool from './InfoTool';\r\nimport classnames from 'classnames';\r\nimport { point, midpoint as Midpoint, polygon as Polygon, centerOfMass } from '@turf/turf';\r\nimport PolygonGeo from '../polygon/Polygon';\r\nimport PolylineGeo from '../polyline/Polyline';\r\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\r\n\r\nexport const handelGeometry = entity => {\r\n let geometry = entity?.data?.geometry;\r\n let type = geometry?.type;\r\n let coordinates = geometry?.coordinates;\r\n\r\n let midpoint = entity?.data; // 默认点\r\n let position = null;\r\n let offset = {\r\n x: 0,\r\n y: 20,\r\n };\r\n\r\n if (['MultiLineString', 'LineString'].includes(type) && coordinates?.length) {\r\n let point1 = null;\r\n let point2 = null;\r\n // 线\r\n if (coordinates.length > 1) {\r\n point1 = point(coordinates[0]);\r\n point2 = point(coordinates[1]);\r\n } else {\r\n let lngLatArr = coordinates[0];\r\n point1 = point(lngLatArr[0]);\r\n point2 = point(lngLatArr[1]);\r\n }\r\n midpoint = Midpoint(point1, point2);\r\n } else if (['Polygon', 'MultiPolygon'].includes(type)) {\r\n // 面\r\n // 注意:polygon首尾坐标要一致\r\n let polygon = Polygon(coordinates);\r\n midpoint = centerOfMass(polygon);\r\n } else if (['Point'].includes(type)) {\r\n offset = {\r\n x: 5,\r\n y: 20,\r\n };\r\n }\r\n if (midpoint?.geometry?.coordinates) {\r\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\r\n }\r\n\r\n return {\r\n position,\r\n geometryType: type,\r\n _offset: offset,\r\n };\r\n};\r\n\r\nconst Popup = forwardRef((props, ref) => {\r\n const { map } = props;\r\n\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const popupRef = useRef();\r\n\r\n const featureRef = useRef();\r\n const infoToolRef = useRef(new InfoTool({ map }));\r\n const viewRef = useRef();\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n };\r\n });\r\n\r\n const showTemplate = (feature, highlightLayer) => {\r\n let layer = map.getLayerByFeature(feature);\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n let properties = map.getProperties(feature);\r\n feature.values_ = properties;\r\n featureRef.current = feature;\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n\r\n setTitle(labelField && properties[labelField]);\r\n setContent(feature && template(feature));\r\n }\r\n\r\n let position = feature?._position?._value;\r\n // 偏移量\r\n let offset = {\r\n x: 5,\r\n y: 76,\r\n };\r\n\r\n let height = 5000;\r\n if (feature instanceof PolygonGeo) {\r\n let coordinates = [\r\n (feature?._polygon?._hierarchy?._value?.positions || []).map(v => {\r\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\r\n const lng = CesiumMath.toDegrees(cartographic.longitude);\r\n const lat = CesiumMath.toDegrees(cartographic.latitude);\r\n return [lng, lat];\r\n }),\r\n ];\r\n let { position: _position, _offset } = handelGeometry({\r\n data: { geometry: { type: 'Polygon', coordinates } },\r\n });\r\n position = _position;\r\n offset = _offset;\r\n height = null;\r\n } else if (feature instanceof PolylineGeo || feature?._polyline) {\r\n let coordinates = (feature?._polyline?._positions?._value || []).map(v => {\r\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\r\n const lng = CesiumMath.toDegrees(cartographic.longitude);\r\n const lat = CesiumMath.toDegrees(cartographic.latitude);\r\n return [lng, lat];\r\n });\r\n let { position: _position, _offset } = handelGeometry({\r\n data: { geometry: { type: 'LineString', coordinates } },\r\n });\r\n position = _position;\r\n offset = _offset;\r\n height = null;\r\n }\r\n\r\n console.log(\"feature:\", feature);\r\n\r\n if (feature.primitive) {\r\n offset = {\r\n x: 0,\r\n y: 20,\r\n };\r\n const geometry = transformGeometry(properties.geometryInfo);\r\n const [point1, point2] = geometry.coordinates[0];\r\n const midpoint = Midpoint(point1, point2);\r\n if (midpoint?.geometry?.coordinates) {\r\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\r\n }\r\n }\r\n\r\n // 影像图层的数据\r\n if (feature instanceof ImageryLayerFeatureInfo || feature?.data?.geometry?.coordinates) {\r\n let { position: _position, _offset } = handelGeometry(feature);\r\n position = _position;\r\n offset = _offset;\r\n }\r\n\r\n infoToolRef.current.add({\r\n position: position,\r\n content: '',\r\n element: popupRef.current,\r\n inputFeature: feature,\r\n type: '',\r\n offset,\r\n });\r\n\r\n map.popupRef = feature;\r\n\r\n if (!viewRef.current && map.autoView) {\r\n getView();\r\n }\r\n\r\n highlightLayer = highlightLayer || map.highlightLayer;\r\n highlightLayer.addHighlightFeature(feature);\r\n if (highlightLayer?.layer && map.autoView) {\r\n map.fitView({ entity: highlightLayer.layer, height });\r\n }\r\n };\r\n\r\n const hideTemplate = _layer => {\r\n if (_layer) {\r\n let layer = typeof _layer === 'string' ? map.getLayerByKey(_layer) : _layer;\r\n\r\n if (layer && layer.key && map.popupRef) {\r\n let _highlightLayer = map.getLayerByFeature(map.popupRef);\r\n if (_highlightLayer.key === layer.key) {\r\n onClose();\r\n }\r\n }\r\n } else {\r\n onClose();\r\n }\r\n };\r\n\r\n // 判断点位异常-点位异常展示红色\r\n function judgeAbnormal() {\r\n const { status } = map.getProperties(featureRef.current) || {};\r\n\r\n return status && [1, 2, 4].includes(status);\r\n }\r\n\r\n // 关闭气泡\r\n const onClose = () => {\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n map.popupRef = null;\r\n featureRef.current = null;\r\n infoToolRef?.current?.remove();\r\n\r\n if (map.entities.getById('highlight-1')) {\r\n map.entities.remove(map.entities.getById('highlight-1'));\r\n }\r\n\r\n // 清除高亮\r\n // highlightLayer.current.clearFeatures();\r\n\r\n // map.fitView();\r\n\r\n if (map.autoView) {\r\n setView();\r\n }\r\n };\r\n\r\n const getView = () => {\r\n //获取当前视角的pitch\r\n let pitch = map.camera.pitch;\r\n //获取当前视角的heading\r\n let heading = map.camera.heading;\r\n //获取当前视角的postion(位置)\r\n let position = map.camera.position;\r\n\r\n viewRef.current = {\r\n x: position.x,\r\n y: position.y,\r\n z: position.z,\r\n pitch: pitch,\r\n heading: heading,\r\n };\r\n };\r\n\r\n const setView = () => {\r\n if (viewRef.current) {\r\n map.camera.flyTo({\r\n //定位到范围中心点\r\n destination: {\r\n x: viewRef.current.x,\r\n y: viewRef.current.y,\r\n z: viewRef.current.z,\r\n },\r\n orientation: {\r\n heading: viewRef.current.heading, //左右方向\r\n pitch: viewRef.current.pitch, //上下方向\r\n roll: 0.0,\r\n },\r\n duration: 2,\r\n });\r\n\r\n viewRef.current = null;\r\n }\r\n };\r\n return (\r\n <div\r\n ref={popupRef}\r\n className={classnames('cesium-popup', { 'cesium-popup-abnormal': judgeAbnormal() })}\r\n >\r\n <CloseOutlined\r\n className={classnames('cesium-popup-close')}\r\n width={16}\r\n height={16}\r\n onClick={onClose}\r\n />\r\n <div className={classnames('cesium-popup-title', { 'cesium-popup-no-title': !title })}>\r\n {title}\r\n </div>\r\n <div className={classnames('cesium-popup-content')} id=\"content\">\r\n {content}\r\n </div>\r\n </div>\r\n );\r\n});\r\n\r\nexport default Popup;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_cesium","_icons","_antd","_InfoTool","_interopRequireDefault","_classnames","_turf","_Polygon","_Polyline","_createFeatureCollection","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","Cluster","props","layer","features","onFeatureClick","onFitView","labelField","createElement","className","classnames","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","handelGeometry","exports","entity","_entity$data","_midpoint","geometry","data","type","coordinates","midpoint","position","offset","x","includes","point1","point2","point","lngLatArr","Midpoint","polygon","Polygon","centerOfMass","Cartesian3","fromDegrees","apply","geometryType","_offset","Popup","forwardRef","ref","map","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","popupRef","useRef","featureRef","infoToolRef","InfoTool","viewRef","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","_position","_value","height","PolygonGeo","_polygon","_feature$_polygon","_hierarchy","positions","v","cartographic","Cartographic","fromCartesian","lng","CesiumMath","toDegrees","longitude","lat","latitude","_handelGeometry2","PolylineGeo","_polyline","_feature$_polyline","_positions","_handelGeometry3","primitive","_midpoint$geometry","transformGeometry","_geometry$coordinates","ImageryLayerFeatureInfo","_handelGeometry4","autoView","getView","addHighlightFeature","_layer","getLayerByKey","_highlightLayer","onClose","judgeAbnormal","_ref","status","_infoToolRef$current","onCloseTemplateBefore","remove","entities","getById","setView","pitch","camera","heading","z","flyTo","destination","orientation","roll","duration","CloseOutlined","id","_default"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { ImageryLayerFeatureInfo, Cartesian3, Cartographic, Math as CesiumMath } from 'cesium';\r\nimport { CloseOutlined } from '@ant-design/icons';\r\nimport { Table } from 'antd';\r\nimport InfoTool from './InfoTool';\r\nimport classnames from 'classnames';\r\nimport { point, midpoint as Midpoint, polygon as Polygon, centerOfMass } from '@turf/turf';\r\nimport PolygonGeo from '../polygon/Polygon';\r\nimport PolylineGeo from '../polyline/Polyline';\r\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\r\nimport {\r\n featureCollection as TurfFeatureCollection,\r\n point as TurfPoint,\r\n centerOfMass as TureCenterOfMass,\r\n} from '@turf/turf';\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('cs-map-popup-cluster')}>\r\n <div className={classnames('cs-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport const handelGeometry = entity => {\r\n let geometry = entity?.data?.geometry;\r\n let type = geometry?.type;\r\n let coordinates = geometry?.coordinates;\r\n\r\n let midpoint = entity?.data; // 默认点\r\n let position = null;\r\n let offset = {\r\n x: 0,\r\n y: 20,\r\n };\r\n\r\n if (['MultiLineString', 'LineString'].includes(type) && coordinates?.length) {\r\n let point1 = null;\r\n let point2 = null;\r\n // 线\r\n if (coordinates.length > 1) {\r\n point1 = point(coordinates[0]);\r\n point2 = point(coordinates[1]);\r\n } else {\r\n let lngLatArr = coordinates[0];\r\n point1 = point(lngLatArr[0]);\r\n point2 = point(lngLatArr[1]);\r\n }\r\n midpoint = Midpoint(point1, point2);\r\n } else if (['Polygon', 'MultiPolygon'].includes(type)) {\r\n // 面\r\n // 注意:polygon首尾坐标要一致\r\n let polygon = Polygon(coordinates);\r\n midpoint = centerOfMass(polygon);\r\n } else if (['Point'].includes(type)) {\r\n offset = {\r\n x: 5,\r\n y: 20,\r\n };\r\n }\r\n if (midpoint?.geometry?.coordinates) {\r\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\r\n }\r\n\r\n return {\r\n position,\r\n geometryType: type,\r\n _offset: offset,\r\n };\r\n};\r\n\r\nconst Popup = forwardRef((props, ref) => {\r\n const { map } = props;\r\n\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const popupRef = useRef();\r\n\r\n const featureRef = useRef();\r\n const infoToolRef = useRef(new InfoTool({ map }));\r\n const viewRef = useRef();\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n };\r\n });\r\n\r\n const showTemplate = (feature, highlightLayer) => {\r\n // 判断是否为聚合点击\r\n if (feature && feature.length >= 2) {\r\n const points = [];\r\n const features = feature.map(f => {\r\n let properties = map.getProperties(f);\r\n\r\n points.push(TurfPoint(f.geometry));\r\n return {\r\n feature: f,\r\n geometryInfo: properties?.geometryInfo || {\r\n type: 'point',\r\n lngLats: f.geometry.join(','),\r\n coordType: 'wgs84',\r\n },\r\n values_: properties,\r\n properties: properties,\r\n };\r\n });\r\n\r\n const center = TureCenterOfMass(TurfFeatureCollection(points));\r\n let { position } = handelGeometry({\r\n data: center,\r\n });\r\n\r\n let layer = map.getLayerByFeature(feature[0]);\r\n infoToolRef.current.add({\r\n position,\r\n content: '',\r\n element: popupRef.current,\r\n inputFeature: feature,\r\n type: '',\r\n offset: {\r\n x: 0,\r\n y: 50,\r\n },\r\n });\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView({ data: features });\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n showTemplate(f.feature, highlightLayer);\r\n }}\r\n />,\r\n );\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n let properties = map.getProperties(feature);\r\n feature.values_ = properties;\r\n featureRef.current = feature;\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n\r\n setTitle(labelField && properties[labelField]);\r\n setContent(feature && template(feature));\r\n }\r\n\r\n let position = feature?._position?._value;\r\n // 偏移量\r\n let offset = {\r\n x: 5,\r\n y: 76,\r\n };\r\n\r\n let height = 5000;\r\n if (feature instanceof PolygonGeo || feature?._polygon) {\r\n let coordinates = [\r\n (feature?._polygon?._hierarchy?._value?.positions || []).map(v => {\r\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\r\n const lng = CesiumMath.toDegrees(cartographic.longitude);\r\n const lat = CesiumMath.toDegrees(cartographic.latitude);\r\n return [lng, lat];\r\n }),\r\n ];\r\n let { position: _position, _offset } = handelGeometry({\r\n data: { geometry: { type: 'Polygon', coordinates } },\r\n });\r\n position = _position;\r\n offset = _offset;\r\n height = null;\r\n } else if (feature instanceof PolylineGeo || feature?._polyline) {\r\n let coordinates = (feature?._polyline?._positions?._value || []).map(v => {\r\n const cartographic = Cartographic.fromCartesian(v); // 经纬高对象\r\n const lng = CesiumMath.toDegrees(cartographic.longitude);\r\n const lat = CesiumMath.toDegrees(cartographic.latitude);\r\n return [lng, lat];\r\n });\r\n let { position: _position, _offset } = handelGeometry({\r\n data: { geometry: { type: 'LineString', coordinates } },\r\n });\r\n position = _position;\r\n offset = _offset;\r\n height = null;\r\n }\r\n\r\n if (feature.primitive) {\r\n offset = {\r\n x: 0,\r\n y: 20,\r\n };\r\n const geometry = transformGeometry(properties.geometryInfo);\r\n const [point1, point2] = geometry.coordinates[0];\r\n const midpoint = Midpoint(point1, point2);\r\n if (midpoint?.geometry?.coordinates) {\r\n position = Cartesian3.fromDegrees(...midpoint.geometry.coordinates);\r\n }\r\n }\r\n\r\n // 影像图层的数据\r\n if (feature instanceof ImageryLayerFeatureInfo || feature?.data?.geometry?.coordinates) {\r\n let { position: _position, _offset } = handelGeometry(feature);\r\n position = _position;\r\n offset = _offset;\r\n }\r\n\r\n infoToolRef.current.add({\r\n position: position,\r\n content: '',\r\n element: popupRef.current,\r\n inputFeature: feature,\r\n type: '',\r\n offset,\r\n });\r\n\r\n map.popupRef = feature;\r\n\r\n if (!viewRef.current && map.autoView) {\r\n getView();\r\n }\r\n\r\n highlightLayer = highlightLayer || map.highlightLayer;\r\n highlightLayer.addHighlightFeature(feature);\r\n if (highlightLayer?.layer && map.autoView) {\r\n map.fitView({ entity: highlightLayer.layer, height });\r\n }\r\n };\r\n\r\n const hideTemplate = _layer => {\r\n if (_layer) {\r\n let layer = typeof _layer === 'string' ? map.getLayerByKey(_layer) : _layer;\r\n\r\n if (layer && layer.key && map.popupRef) {\r\n let _highlightLayer = map.getLayerByFeature(map.popupRef);\r\n if (_highlightLayer.key === layer.key) {\r\n onClose();\r\n }\r\n }\r\n } else {\r\n onClose();\r\n }\r\n };\r\n\r\n // 判断点位异常-点位异常展示红色\r\n function judgeAbnormal() {\r\n const { status } = map.getProperties(featureRef.current) || {};\r\n\r\n return status && [1, 2, 4].includes(status);\r\n }\r\n\r\n // 关闭气泡\r\n const onClose = () => {\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n map.popupRef = null;\r\n featureRef.current = null;\r\n infoToolRef?.current?.remove();\r\n\r\n if (map.entities.getById('highlight-1')) {\r\n map.entities.remove(map.entities.getById('highlight-1'));\r\n }\r\n\r\n // 清除高亮\r\n // highlightLayer.current.clearFeatures();\r\n\r\n // map.fitView();\r\n\r\n if (map.autoView) {\r\n setView();\r\n }\r\n };\r\n\r\n const getView = () => {\r\n //获取当前视角的pitch\r\n let pitch = map.camera.pitch;\r\n //获取当前视角的heading\r\n let heading = map.camera.heading;\r\n //获取当前视角的postion(位置)\r\n let position = map.camera.position;\r\n\r\n viewRef.current = {\r\n x: position.x,\r\n y: position.y,\r\n z: position.z,\r\n pitch: pitch,\r\n heading: heading,\r\n };\r\n };\r\n\r\n const setView = () => {\r\n if (viewRef.current) {\r\n map.camera.flyTo({\r\n //定位到范围中心点\r\n destination: {\r\n x: viewRef.current.x,\r\n y: viewRef.current.y,\r\n z: viewRef.current.z,\r\n },\r\n orientation: {\r\n heading: viewRef.current.heading, //左右方向\r\n pitch: viewRef.current.pitch, //上下方向\r\n roll: 0.0,\r\n },\r\n duration: 2,\r\n });\r\n\r\n viewRef.current = null;\r\n }\r\n };\r\n return (\r\n <div\r\n ref={popupRef}\r\n className={classnames('cesium-popup', { 'cesium-popup-abnormal': judgeAbnormal() })}\r\n >\r\n <CloseOutlined\r\n className={classnames('cesium-popup-close')}\r\n width={16}\r\n height={16}\r\n onClick={onClose}\r\n />\r\n <div className={classnames('cesium-popup-title', { 'cesium-popup-no-title': !title })}>\r\n {title}\r\n </div>\r\n <div className={classnames('cesium-popup-content')} id=\"content\">\r\n {content}\r\n </div>\r\n </div>\r\n );\r\n});\r\n\r\nexport default Popup;\r\n"],"mappings":"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"}
@@ -6,103 +6,108 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _cesium = require("cesium");
9
- var _lodash = require("lodash");
10
- var _getDefaultMapInfo2 = _interopRequireDefault(require("../../_util/getDefaultMapInfo"));
11
9
  var _layer = require("../../_util/layer");
10
+ var _FeatureLayer = _interopRequireDefault(require("../../feature-layer/FeatureLayer"));
11
+ var _ImageLayer = _interopRequireDefault(require("../../image-layer/ImageLayer"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
13
  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; }
14
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
- 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."); }
16
- 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); }
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 _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; }
20
14
  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); } }
21
15
  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); }); }; }
22
16
  var _default = exports["default"] = function _default(mapRef) {
23
- var getMapLayers = /*#__PURE__*/function () {
17
+ var getMapLayers = function getMapLayers(searchText) {
18
+ return new Promise(function (resolve, reject) {
19
+ var list = [];
20
+ var promiseList = [];
21
+ mapRef.current.getAllLayers().map(function (layer) {
22
+ if (layer.show && layer.key && layer.labelField) {
23
+ var label = layer.name;
24
+ var field = layer.labelField;
25
+ if (layer instanceof _FeatureLayer["default"]) {
26
+ var features = layer.getFeaturesBySearch(field, searchText || 'name');
27
+ if (features !== null && features !== void 0 && features.length) {
28
+ list.push({
29
+ label: label,
30
+ options: features
31
+ });
32
+ }
33
+ } else if (layer instanceof _ImageLayer["default"]) {
34
+ promiseList.push(layer.getFeaturesBySearch(field, searchText || 'code').then(function (features) {
35
+ return {
36
+ label: label,
37
+ options: features
38
+ };
39
+ }));
40
+ } else if (layer instanceof _cesium.CustomDataSource) {
41
+ var _features = (0, _layer.getVectorFeatureInfoByText)(layer, field, searchText || 'name');
42
+ if (_features !== null && _features !== void 0 && _features.length) {
43
+ list.push({
44
+ label: label,
45
+ options: _features
46
+ });
47
+ }
48
+ } else if (layer instanceof _cesium.ImageryLayer) {
49
+ promiseList.push((0, _layer.getWmsFeatureInfoByText)(layer, field, searchText || 'code').then(function (features) {
50
+ return {
51
+ label: label,
52
+ options: features
53
+ };
54
+ }));
55
+ }
56
+ }
57
+ });
58
+ if (promiseList !== null && promiseList !== void 0 && promiseList.length) {
59
+ Promise.all(promiseList).then(function (res) {
60
+ if (res !== null && res !== void 0 && res.length) {
61
+ res.map(function (v) {
62
+ var _v$options;
63
+ if ((_v$options = v.options) !== null && _v$options !== void 0 && _v$options.length) {
64
+ list.push(v);
65
+ }
66
+ });
67
+ }
68
+ resolve(list);
69
+ });
70
+ } else {
71
+ resolve(list);
72
+ }
73
+ });
74
+ };
75
+ var getAddressLayers = /*#__PURE__*/function () {
24
76
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(searchText) {
25
- var list, promiseList, wmsFeatures;
77
+ var data;
26
78
  return _regeneratorRuntime().wrap(function _callee$(_context) {
27
79
  while (1) switch (_context.prev = _context.next) {
28
80
  case 0:
29
- list = [];
30
- promiseList = [];
31
- mapRef.current.getAllLayers().map(function (layer) {
32
- if (layer.show && layer.key && layer.labelField) {
33
- var label = layer.name;
34
- var field = layer.labelField;
35
- if (layer instanceof _cesium.CustomDataSource && layer.entities) {
36
- var features = (0, _layer.getVectorFeatureInfoByText)(layer, field || 'name', searchText);
37
- if (features !== null && features !== void 0 && features.length) {
38
- list.push({
39
- label: label,
40
- options: features
41
- });
42
- }
43
- } else if (layer instanceof _cesium.ImageryLayer) {
44
- promiseList.push((0, _layer.getWmsFeatureInfoByText)(layer, field || 'code', searchText).then(function (features) {
45
- return {
46
- label: label,
47
- options: features
48
- };
49
- }));
50
- }
51
- }
81
+ _context.next = 2;
82
+ return (0, _layer.poiSearch)({
83
+ keywords: searchText
52
84
  });
53
- _context.next = 5;
54
- return Promise.all(promiseList);
85
+ case 2:
86
+ data = _context.sent;
87
+ if (!(data !== null && data !== void 0 && data.length)) {
88
+ _context.next = 5;
89
+ break;
90
+ }
91
+ return _context.abrupt("return", data.map(function (item) {
92
+ return {
93
+ label: item.name,
94
+ value: item.name,
95
+ lngLat: item.lngLat
96
+ };
97
+ }));
55
98
  case 5:
56
- wmsFeatures = _context.sent.filter(function (item) {
57
- return !(0, _lodash.isEmpty)(item.options);
58
- });
59
- return _context.abrupt("return", [].concat(list, _toConsumableArray(wmsFeatures)));
60
- case 7:
61
99
  case "end":
62
100
  return _context.stop();
63
101
  }
64
102
  }, _callee);
65
103
  }));
66
- return function getMapLayers(_x) {
104
+ return function getAddressLayers(_x) {
67
105
  return _ref.apply(this, arguments);
68
106
  };
69
107
  }();
70
- var getAddressLayers = /*#__PURE__*/function () {
71
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(searchText) {
72
- var _getDefaultMapInfo, rootDivisionName, data, dataList;
73
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
74
- while (1) switch (_context2.prev = _context2.next) {
75
- case 0:
76
- _getDefaultMapInfo = (0, _getDefaultMapInfo2["default"])(), rootDivisionName = _getDefaultMapInfo.rootDivisionName;
77
- _context2.next = 3;
78
- return (0, _layer.addressSearch)(searchText, rootDivisionName || '中国');
79
- case 3:
80
- data = _context2.sent;
81
- dataList = [];
82
- if (data && data.length) {
83
- data.map(function (item) {
84
- dataList.push({
85
- label: item.formatted_address,
86
- value: item.formatted_address,
87
- lngLat: item.TDT
88
- // options: item.TDT,
89
- });
90
- });
91
- }
92
- return _context2.abrupt("return", dataList);
93
- case 7:
94
- case "end":
95
- return _context2.stop();
96
- }
97
- }, _callee2);
98
- }));
99
- return function getAddressLayers(_x2) {
100
- return _ref2.apply(this, arguments);
101
- };
102
- }();
103
- return function (_ref3) {
104
- var type = _ref3.type,
105
- searchText = _ref3.searchText;
108
+ return function (_ref2) {
109
+ var type = _ref2.type,
110
+ searchText = _ref2.searchText;
106
111
  return new Promise(function (resolve) {
107
112
  var TYPE = {
108
113
  address: getAddressLayers,