@vtx/cs-map 1.0.98 → 1.0.100

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 (42) hide show
  1. package/lib/_util/encryptParams.js +0 -1
  2. package/lib/_util/encryptParams.js.map +1 -1
  3. package/lib/_util/layer.js +9 -0
  4. package/lib/_util/layer.js.map +1 -1
  5. package/lib/cesium-tiles-layer/demo/index.css +10 -1
  6. package/lib/cesium-tiles-layer/demo/index.less +11 -1
  7. package/lib/cesium-tiles-layer/demo/putian/index.css +15 -0
  8. package/lib/cesium-tiles-layer/demo/putian/index.less +18 -0
  9. package/lib/highlight-layer/HighlightLayer.js +5 -12
  10. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  11. package/lib/index.js +7 -0
  12. package/lib/index.js.map +1 -1
  13. package/lib/map/Layers.js +2 -1
  14. package/lib/map/Layers.js.map +1 -1
  15. package/lib/map/Popup.js +1 -1
  16. package/lib/map/Popup.js.map +1 -1
  17. package/lib/map/index.js +10 -2
  18. package/lib/map/index.js.map +1 -1
  19. package/lib/road-line-layer/RoadLineLayer.js +134 -0
  20. package/lib/road-line-layer/RoadLineLayer.js.map +1 -0
  21. package/lib/road-line-layer/index.js +38 -0
  22. package/lib/road-line-layer/index.js.map +1 -0
  23. package/lib/road-line-layer/style/css.js +4 -0
  24. package/lib/road-line-layer/style/css.js.map +1 -0
  25. package/lib/road-line-layer/style/index.css +0 -0
  26. package/lib/road-line-layer/style/index.js +4 -0
  27. package/lib/road-line-layer/style/index.js.map +1 -0
  28. package/lib/road-line-layer/style/index.less +0 -0
  29. package/lib/scene-roam/index.js +3 -1
  30. package/lib/scene-roam/index.js.map +1 -1
  31. package/lib/three-line-layer/ThreeLineLayer.js +0 -1
  32. package/lib/three-line-layer/ThreeLineLayer.js.map +1 -1
  33. package/lib/tools/map-search/index.js +6 -0
  34. package/lib/tools/map-search/index.js.map +1 -1
  35. package/lib/water-surface-layer/WaterSurfaceLayer.js +3 -1
  36. package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
  37. package/package.json +2 -2
  38. package/lib/cesium-tiles-layer/demo/assets/baseMapImg-1.png +0 -0
  39. package/lib/cesium-tiles-layer/demo/assets/baseMapImg.png +0 -0
  40. package/lib/cesium-tiles-layer/demo/assets/company.png +0 -0
  41. package/lib/cesium-tiles-layer/demo/assets/round.png +0 -0
  42. package/lib/cesium-tiles-layer/demo/assets/water.png +0 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _cesium = require("cesium");
9
+ var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
16
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
19
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
+ var getColorRamp = function getColorRamp() {
23
+ var ramp = document.createElement('canvas');
24
+ ramp.width = 1000;
25
+ ramp.height = 2;
26
+ var ctx = ramp.getContext('2d');
27
+ var grd = ctx.createLinearGradient(0, 0, ramp.width, ramp.height);
28
+ grd.addColorStop(0.1, 'rgba(4, 202, 191, 0.2)');
29
+ grd.addColorStop(0.45, 'rgba(4, 202, 191,0.3)');
30
+ grd.addColorStop(0.48, 'rgba(4, 202, 191, 0.8)');
31
+ grd.addColorStop(0.5, 'rgba(218, 183, 4, 0.8)');
32
+ grd.addColorStop(0.52, 'rgba(4, 202, 191, 0.2)');
33
+ grd.addColorStop(1.0, 'rgba(4, 202, 191, 0.2)');
34
+ ctx.fillStyle = grd;
35
+ ctx.fillRect(0, 0, ramp.width, ramp.height);
36
+ return ramp.toDataURL();
37
+ };
38
+
39
+ // 着色器编写,跟上方entity的基本一致
40
+ var source = "czm_material czm_getMaterial(czm_materialInput materialInput)\n {\n czm_material material = czm_getDefaultMaterial(materialInput);\n vec2 st = materialInput.st;\n vec4 colorImage = texture2D(image, vec2(fract((st.s - speed * czm_frameNumber * 0.001)), st.t));\n material.alpha = colorImage.a * color.a;\n material.diffuse = colorImage.rgb * 1.5 ;\n return material;\n }";
41
+ var RoadLineLayer = exports["default"] = /*#__PURE__*/function (_Primitive) {
42
+ _inherits(RoadLineLayer, _Primitive);
43
+ var _super = _createSuper(RoadLineLayer);
44
+ function RoadLineLayer(option) {
45
+ var _this;
46
+ _classCallCheck(this, RoadLineLayer);
47
+ var _option$width = option.width,
48
+ width = _option$width === void 0 ? 2.0 : _option$width,
49
+ _option$speed = option.speed,
50
+ speed = _option$speed === void 0 ? 10 : _option$speed,
51
+ data = option.data,
52
+ _option$show = option.show,
53
+ show = _option$show === void 0 ? true : _option$show,
54
+ key = option.id,
55
+ name = option.name,
56
+ labelField = option.labelField,
57
+ template = option.template;
58
+ var instances = data.map(function (item) {
59
+ var geometry = item.geometry;
60
+ if (item.geometryInfo) {
61
+ geometry = (0, _createFeatureCollection.transformGeometry)(item.geometryInfo);
62
+ }
63
+ var polyline = new _cesium.PolylineGeometry({
64
+ positions: _cesium.Cartesian3.fromDegreesArray(geometry.coordinates.flat(Infinity)),
65
+ width: width,
66
+ arcType: _cesium.ArcType.GEODESIC,
67
+ vertexFormat: _cesium.PolylineMaterialAppearance.VERTEX_FORMAT // 顶点属性,默认即可
68
+ });
69
+
70
+ return new _cesium.GeometryInstance({
71
+ geometry: polyline,
72
+ values_: item,
73
+ id: item.id
74
+ });
75
+ });
76
+
77
+ // 材质着色的外观
78
+ var appearance = new _cesium.PolylineMaterialAppearance({
79
+ material: new _cesium.Material({
80
+ fabric: {
81
+ uniforms: {
82
+ color: _cesium.Color.fromCssColorString("#ff7fa5"),
83
+ image: getColorRamp(),
84
+ speed: speed
85
+ },
86
+ source: source
87
+ },
88
+ translucent: function translucent() {
89
+ return true;
90
+ }
91
+ })
92
+ });
93
+ var primitive = new _cesium.Primitive({
94
+ geometryInstances: instances,
95
+ show: show,
96
+ appearance: appearance,
97
+ asynchronous: false
98
+ });
99
+ _this = _super.call(this, primitive);
100
+
101
+ // 图层标识
102
+ _this.key = key;
103
+
104
+ // 图层名称
105
+ _this.name = name;
106
+
107
+ // 标签字段
108
+ _this.labelField = labelField;
109
+
110
+ // 模版内容
111
+ _this.template = template;
112
+ _this.data = data;
113
+ return _this;
114
+ }
115
+
116
+ // 根据条件获取图形数据
117
+ _createClass(RoadLineLayer, [{
118
+ key: "getFeatureByFieldValue",
119
+ value: function getFeatureByFieldValue(field, value) {
120
+ return this.getFeatures().find(function (v) {
121
+ return v[field] === value;
122
+ });
123
+ }
124
+
125
+ // 获取图形
126
+ }, {
127
+ key: "getFeatures",
128
+ value: function getFeatures() {
129
+ return this.data;
130
+ }
131
+ }]);
132
+ return RoadLineLayer;
133
+ }(_cesium.Primitive);
134
+ //# sourceMappingURL=RoadLineLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoadLineLayer.js","names":["_cesium","require","_createFeatureCollection","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","getColorRamp","ramp","document","createElement","width","height","ctx","getContext","grd","createLinearGradient","addColorStop","fillStyle","fillRect","toDataURL","source","RoadLineLayer","exports","_Primitive","_super","option","_this","_option$width","_option$speed","speed","data","_option$show","show","id","name","labelField","template","instances","map","item","geometry","geometryInfo","transformGeometry","polyline","PolylineGeometry","positions","Cartesian3","fromDegreesArray","coordinates","flat","Infinity","arcType","ArcType","GEODESIC","vertexFormat","PolylineMaterialAppearance","VERTEX_FORMAT","GeometryInstance","values_","appearance","material","Material","fabric","uniforms","color","Color","fromCssColorString","image","translucent","primitive","Primitive","geometryInstances","asynchronous","getFeatureByFieldValue","field","getFeatures","find","v"],"sources":["road-line-layer/RoadLineLayer.js"],"sourcesContent":["import {\r\n ArcType,\r\n Cartesian3,\r\n Color,\r\n GeometryInstance,\r\n Material,\r\n PolylineGeometry,\r\n PolylineMaterialAppearance,\r\n Primitive,\r\n} from 'cesium';\r\nimport { transformGeometry } from '../feature-layer/createFeatureCollection';\r\n\r\nconst getColorRamp = () => {\r\n const ramp = document.createElement('canvas');\r\n ramp.width = 1000;\r\n ramp.height = 2;\r\n const ctx = ramp.getContext('2d');\r\n const grd = ctx.createLinearGradient(0, 0, ramp.width, ramp.height);\r\n grd.addColorStop(0.1, 'rgba(4, 202, 191, 0.2)');\r\n grd.addColorStop(0.45, 'rgba(4, 202, 191,0.3)');\r\n grd.addColorStop(0.48, 'rgba(4, 202, 191, 0.8)');\r\n grd.addColorStop(0.5, 'rgba(218, 183, 4, 0.8)');\r\n grd.addColorStop(0.52, 'rgba(4, 202, 191, 0.2)');\r\n grd.addColorStop(1.0, 'rgba(4, 202, 191, 0.2)');\r\n ctx.fillStyle = grd;\r\n ctx.fillRect(0,0,ramp.width, ramp.height)\r\n return ramp.toDataURL();\r\n}\r\n\r\n// 着色器编写,跟上方entity的基本一致\r\nlet source = `czm_material czm_getMaterial(czm_materialInput materialInput)\r\n {\r\n czm_material material = czm_getDefaultMaterial(materialInput);\r\n vec2 st = materialInput.st;\r\n vec4 colorImage = texture2D(image, vec2(fract((st.s - speed * czm_frameNumber * 0.001)), st.t));\r\n material.alpha = colorImage.a * color.a;\r\n material.diffuse = colorImage.rgb * 1.5 ;\r\n return material;\r\n }`;\r\n\r\nexport default class RoadLineLayer extends Primitive {\r\n constructor(option) {\r\n const {\r\n width = 2.0,\r\n speed = 10,\r\n data,\r\n show = true,\r\n id: key,\r\n name,\r\n labelField,\r\n template,\r\n } = option;\r\n\r\n const instances = data.map(item => {\r\n let geometry = item.geometry;\r\n if (item.geometryInfo) {\r\n geometry = transformGeometry(item.geometryInfo)\r\n }\r\n const polyline = new PolylineGeometry({\r\n positions: Cartesian3.fromDegreesArray(geometry.coordinates.flat(Infinity)),\r\n width,\r\n arcType: ArcType.GEODESIC,\r\n vertexFormat: PolylineMaterialAppearance.VERTEX_FORMAT, // 顶点属性,默认即可\r\n });\r\n return new GeometryInstance({\r\n geometry: polyline,\r\n values_: item,\r\n id: item.id,\r\n });\r\n });\r\n\r\n // 材质着色的外观\r\n const appearance = new PolylineMaterialAppearance({\r\n material: new Material({\r\n fabric: {\r\n uniforms: {\r\n color: Color.fromCssColorString(\"#ff7fa5\"),\r\n image: getColorRamp(),\r\n speed: speed,\r\n },\r\n source,\r\n },\r\n translucent: function () {\r\n return true;\r\n },\r\n }),\r\n });\r\n\r\n const primitive = new Primitive({\r\n geometryInstances: instances,\r\n show: show,\r\n appearance: appearance,\r\n asynchronous: false,\r\n });\r\n super(primitive);\r\n\r\n // 图层标识\r\n this.key = key;\r\n\r\n // 图层名称\r\n this.name = name;\r\n\r\n // 标签字段\r\n this.labelField = labelField;\r\n\r\n // 模版内容\r\n this.template = template;\r\n\r\n this.data = data;\r\n }\r\n\r\n // 根据条件获取图形数据\r\n getFeatureByFieldValue(field, value) {\r\n return this.getFeatures().find(v => v[field] === value);\r\n }\r\n\r\n // 获取图形\r\n getFeatures() {\r\n return this.data\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = _default;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _useProps2 = _interopRequireDefault(require("../_util/useProps"));
10
+ var _RoadLineLayer = _interopRequireDefault(require("./RoadLineLayer"));
11
+ var _events = require("../events");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _default(props) {
16
+ var _useProps = (0, _useProps2["default"])(),
17
+ map = _useProps.map;
18
+ var data = props.data,
19
+ isToBottom = props.isToBottom;
20
+ (0, _react.useEffect)(function () {
21
+ var _map$highlightLayer;
22
+ var primitive = new _RoadLineLayer["default"](props);
23
+ // 注册事件
24
+ (0, _events.registerEventLayer)(primitive, props);
25
+ map.scene.primitives.add(primitive);
26
+ if (isToBottom) {
27
+ map.scene.primitives.lowerToBottom(primitive);
28
+ }
29
+ if (map !== null && map !== void 0 && (_map$highlightLayer = map.highlightLayer) !== null && _map$highlightLayer !== void 0 && _map$highlightLayer.primitiveLayer) {
30
+ map.scene.primitives.raiseToTop(map.highlightLayer.primitiveLayer);
31
+ }
32
+ return function () {
33
+ map.scene.primitives.remove(primitive);
34
+ };
35
+ }, [data]);
36
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_useProps2","_interopRequireDefault","_RoadLineLayer","_events","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","props","_useProps","useProps","map","data","isToBottom","useEffect","_map$highlightLayer","primitive","RoadLineLayer","registerEventLayer","scene","primitives","add","lowerToBottom","highlightLayer","primitiveLayer","raiseToTop","remove","createElement","Fragment"],"sources":["road-line-layer/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport useProps from '../_util/useProps';\r\nimport { useEffect } from 'react';\r\nimport RoadLineLayer from './RoadLineLayer';\r\nimport { registerEventLayer } from '../events';\r\n\r\nexport default function(props) {\r\n const { map } = useProps();\r\n const { data, isToBottom } = props;\r\n useEffect(() => {\r\n const primitive = new RoadLineLayer(props);\r\n // 注册事件\r\n registerEventLayer(primitive, props);\r\n map.scene.primitives.add(primitive);\r\n if (isToBottom) {\r\n map.scene.primitives.lowerToBottom(primitive);\r\n }\r\n if (map?.highlightLayer?.primitiveLayer) {\r\n map.scene.primitives.raiseToTop(map.highlightLayer.primitiveLayer);\r\n }\r\n return () => {\r\n map.scene.primitives.remove(primitive);\r\n };\r\n }, [data]);\r\n return <></>;\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAA+C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAT,wBAAAM,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEhC,SAAAW,SAASC,KAAK,EAAE;EAC3B,IAAAC,SAAA,GAAgB,IAAAC,qBAAQ,EAAC,CAAC;IAAlBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EACX,IAAQC,IAAI,GAAiBJ,KAAK,CAA1BI,IAAI;IAAEC,UAAU,GAAKL,KAAK,CAApBK,UAAU;EACxB,IAAAC,gBAAS,EAAC,YAAM;IAAA,IAAAC,mBAAA;IACZ,IAAMC,SAAS,GAAG,IAAIC,yBAAa,CAACT,KAAK,CAAC;IAC1C;IACA,IAAAU,0BAAkB,EAACF,SAAS,EAAER,KAAK,CAAC;IACpCG,GAAG,CAACQ,KAAK,CAACC,UAAU,CAACC,GAAG,CAACL,SAAS,CAAC;IACnC,IAAIH,UAAU,EAAE;MACZF,GAAG,CAACQ,KAAK,CAACC,UAAU,CAACE,aAAa,CAACN,SAAS,CAAC;IACjD;IACA,IAAIL,GAAG,aAAHA,GAAG,gBAAAI,mBAAA,GAAHJ,GAAG,CAAEY,cAAc,cAAAR,mBAAA,eAAnBA,mBAAA,CAAqBS,cAAc,EAAE;MACrCb,GAAG,CAACQ,KAAK,CAACC,UAAU,CAACK,UAAU,CAACd,GAAG,CAACY,cAAc,CAACC,cAAc,CAAC;IACtE;IACA,OAAO,YAAM;MACTb,GAAG,CAACQ,KAAK,CAACC,UAAU,CAACM,MAAM,CAACV,SAAS,CAAC;IAC1C,CAAC;EACL,CAAC,EAAE,CAACJ,IAAI,CAAC,CAAC;EACV,oBAAOlC,MAAA,YAAAiD,aAAA,CAAAjD,MAAA,YAAAkD,QAAA,MAAI,CAAC;AAChB"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./index.css");
4
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","names":["require"],"sources":["road-line-layer/style/index.js"],"sourcesContent":["import './index.less';\r\n"],"mappings":";;AAAAA,OAAA"}
File without changes
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./index.less");
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["require"],"sources":["road-line-layer/style/index.js"],"sourcesContent":["import './index.less';\r\n"],"mappings":";;AAAAA,OAAA"}
File without changes
@@ -181,10 +181,12 @@ var SceneRoam = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
181
181
  if (position && _cesium2.Cartesian3.distance(position, currentLine.current[currentLine.current.length - 1]) < 1) {
182
182
  // 播放停止
183
183
  isPlaying.current = false;
184
- startHandler();
184
+ // startHandler()
185
185
  map.clock.shouldAnimate = false;
186
186
  map.clock.multiplier = 0;
187
+ removePreRenderHandler();
187
188
  map.scene.postRender.removeEventListener(isOver);
189
+ map.trackedEntity = null;
188
190
  onPlayEnd === null || onPlayEnd === void 0 || onPlayEnd();
189
191
  }
190
192
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_antd","_cesium","_useProps2","_cesium2","_transformRgb","_ahooks","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","o","Symbol","iterator","constructor","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","SceneRoam","forwardRef","props","ref","_props$data","data","perspective","model","pathColor","pathOpacity","onPlaying","onPlayEnd","_useProps","useProps","map","drawLayer","useRef","currentLine","trackedEntity","isPlaying","currentPerspective","useImperativeHandle","handleChange","removePreRenderHandler","handleControl","startHandler","pauseHandler","stopHandler","clearData","drawLine","getEntity","current","setView","scene","preRender","removeEventListener","renderListener","type","message","info","resumeHandler","entities","removeAll","clock","shouldAnimate","start","JulianDate","now","stop","addSeconds","startTime","clone","stopTime","currentTime","clockRange","ClockRange","UNBOUNDED","multiplier","position","computeCirclularFlight","add","availability","TimeIntervalCollection","TimeInterval","orientation","VelocityOrientationProperty","uri","scale","path","resolution","material","PolylineGlowMaterialProperty","glowPower","color","Color","GREEN","width","postRender","addEventListener","isOver","useCallback","matrix3Scratch","Matrix3","scratch","Matrix4","getModelMatrix","entity","time","result","Property","getValueOrUndefined","Cartesian3","defined","Quaternion","Transforms","eastNorthUpToFixedFrame","fromRotationTranslation","fromQuaternion","transformX","transformZ","transformY","camera","lookAtTransform","positionProperty","getValue","distance","property","SampledPositionProperty","setInterpolationOptions","interpolationDegree","interpolationAlgorithm","LagrangePolynomialApproximation","i","addSample","clampToGround","handler","ScreenSpaceEventHandler","canvas","setInputAction","movement","cartesian","getCartesian3FromXY","x","ScreenSpaceEventType","LEFT_CLICK","catesian","endPosition","pop","MOUSE_MOVE","destroy","RIGHT_CLICK","lineEntity","Entity","id","polyline","positions","CallbackProperty","BLUE","withAlpha","useEffect","CustomDataSource","unclickable","cancelBubble","dataSources","item","fromDegrees","fromCssColorString","transformRgb","remove","useUpdateEffect","JSON","stringify","createElement","Fragment","propTypes","PropTypes","array","string","object","number","func","_default","exports"],"sources":["scene-roam/index.js"],"sourcesContent":["import React, { useEffect, useRef, useImperativeHandle, forwardRef, useCallback } from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { message } from 'antd'\r\nimport { getCartesian3FromXY } from '../_util/cesium';\r\nimport useProps from '../use-props';\r\nimport {\r\n CustomDataSource,\r\n Cartesian3,\r\n Entity,\r\n JulianDate,\r\n ClockRange,\r\n TimeIntervalCollection,\r\n TimeInterval,\r\n VelocityOrientationProperty,\r\n PolylineGlowMaterialProperty,\r\n Color,\r\n Matrix3,\r\n Matrix4,\r\n defined,\r\n Quaternion,\r\n Transforms,\r\n SampledPositionProperty,\r\n LagrangePolynomialApproximation,\r\n ScreenSpaceEventHandler,\r\n ScreenSpaceEventType,\r\n CallbackProperty,\r\n Property\r\n} from 'cesium';\r\nimport transformRgb from \"../_util/transformRgb\";\r\nimport {useUpdateEffect} from 'ahooks';\r\n\r\nconst SceneRoam = forwardRef((props, ref) => {\r\n const {data = [], perspective, model, pathColor, pathOpacity, onPlaying, onPlayEnd} = props;\r\n const { map } = useProps()\r\n const drawLayer = useRef(null)\r\n const currentLine = useRef([])\r\n const trackedEntity = useRef()\r\n const isPlaying = useRef(false)\r\n const currentPerspective = useRef(perspective || 'third')\r\n\r\n useImperativeHandle(ref, () => ({\r\n handleChange: handleChange,\r\n removePreRenderHandler: removePreRenderHandler,\r\n handleControl: handleControl,\r\n startHandler: startHandler,\r\n pauseHandler: pauseHandler,\r\n stopHandler: stopHandler,\r\n clearData: clearData,\r\n drawLine: drawLine,\r\n trackedEntity,\r\n getEntity\r\n }));\r\n\r\n const getEntity = () => {\r\n return trackedEntity.current;\r\n }\r\n\r\n const handleChange = (value) => {\r\n currentPerspective.current = value\r\n removePreRenderHandler()\r\n switch(value) {\r\n case 'first':\r\n setView()\r\n if (trackedEntity.current) map.trackedEntity = trackedEntity.current\r\n break\r\n case 'third':\r\n removePreRenderHandler()\r\n if (trackedEntity.current) map.trackedEntity = trackedEntity.current\r\n break\r\n case 'free':\r\n map.trackedEntity = undefined\r\n }\r\n }\r\n\r\n // 移除 preRender 事件监听\r\n const removePreRenderHandler = () => {\r\n map.scene.preRender.removeEventListener(renderListener)\r\n }\r\n\r\n const handleControl = (type) => {\r\n if (!currentLine.current.length && (type === 'start' || type === 'stop')) {\r\n message.info('请先绘制路线')\r\n return\r\n }\r\n switch(type) {\r\n case 'start':\r\n startHandler()\r\n break\r\n case 'resume':\r\n resumeHandler()\r\n break\r\n case 'pause':\r\n pauseHandler()\r\n break\r\n case 'stop':\r\n stopHandler()\r\n break\r\n default:\r\n clearData()\r\n }\r\n }\r\n\r\n // 开始逻辑\r\n const startHandler = () => {\r\n if (!drawLayer.current) return\r\n drawLayer.current.entities.removeAll()\r\n map.clock.shouldAnimate = true\r\n if (!isPlaying.current) {\r\n // 生成开始时间以及结束时间\r\n const start = JulianDate.now()\r\n const stop = JulianDate.addSeconds(\r\n start,\r\n currentLine.current.length - 1,\r\n new JulianDate()\r\n )\r\n map.clock.startTime = start.clone()\r\n map.clock.stopTime = stop.clone()\r\n map.clock.currentTime = start.clone()\r\n map.clock.clockRange = ClockRange.UNBOUNDED\r\n map.clock.multiplier = 0.3\r\n\r\n const position = computeCirclularFlight(start)\r\n\r\n trackedEntity.current = drawLayer.current.entities.add({\r\n availability: new TimeIntervalCollection([\r\n new TimeInterval({\r\n start,\r\n stop,\r\n }),\r\n ]),\r\n position: position,\r\n orientation: new VelocityOrientationProperty(position),\r\n model: {\r\n uri: '/models/drone.glb',\r\n scale: 0.3,\r\n ...model\r\n },\r\n path: {\r\n resolution: 1,\r\n material: new PolylineGlowMaterialProperty({\r\n glowPower: 0.1,\r\n color: Color.GREEN,\r\n }),\r\n width: 16,\r\n },\r\n })\r\n map.scene.postRender.addEventListener(isOver)\r\n isPlaying.current = false\r\n } else {\r\n map.clock.multiplier = 0.3\r\n }\r\n // 设置视角\r\n handleChange(currentPerspective.current)\r\n }\r\n\r\n const renderListener = useCallback(() => {\r\n let matrix3Scratch = new Matrix3()\r\n let scratch = new Matrix4()\r\n const currentTime = map.clock.currentTime;\r\n if (map.trackedEntity) {\r\n const getModelMatrix = (entity, time, result) => {\r\n const position = Property.getValueOrUndefined(\r\n entity.position,\r\n time,\r\n new Cartesian3()\r\n )\r\n if (!defined(position)) {\r\n return undefined\r\n }\r\n const orientation = Property.getValueOrUndefined(\r\n entity.orientation,\r\n time,\r\n new Quaternion()\r\n )\r\n if (!defined(orientation)) {\r\n result = Transforms.eastNorthUpToFixedFrame(\r\n position,\r\n undefined,\r\n result\r\n );\r\n } else {\r\n result = Matrix4.fromRotationTranslation(\r\n Matrix3.fromQuaternion(orientation, matrix3Scratch),\r\n position,\r\n result\r\n )\r\n }\r\n return result\r\n }\r\n\r\n getModelMatrix(map.trackedEntity, currentTime, scratch)\r\n const transformX = 90 //距离运动点的距离(后方)\r\n const transformZ = 55 //距离运动点的高度(上方)\r\n const transformY = 0 //距离运动点的高度(侧方)\r\n map.scene.camera.lookAtTransform(\r\n scratch,\r\n new Cartesian3(-transformX, transformY, transformZ)\r\n )\r\n }\r\n\r\n onPlaying?.(trackedEntity.current, currentTime);\r\n }, [])\r\n\r\n const setView = () => {\r\n removePreRenderHandler()\r\n //视角变换\r\n map.scene.preRender.addEventListener(renderListener)\r\n }\r\n\r\n const isOver = () => {\r\n if (!trackedEntity.current) return\r\n const positionProperty = trackedEntity.current.position\r\n if (!positionProperty) return\r\n // 得到实体对象的地理坐标位置\r\n const position = positionProperty.getValue(map.clock.currentTime)\r\n if (position && Cartesian3.distance(position, currentLine.current[currentLine.current.length - 1]) < 1) {\r\n // 播放停止\r\n isPlaying.current = false\r\n startHandler()\r\n map.clock.shouldAnimate = false\r\n map.clock.multiplier = 0\r\n map.scene.postRender.removeEventListener(isOver)\r\n onPlayEnd?.()\r\n }\r\n }\r\n\r\n // 生成高度\r\n const computeCirclularFlight = (start) => {\r\n if (!currentLine.current.length) {\r\n message.info('请先绘制路线')\r\n return\r\n }\r\n const property = new SampledPositionProperty()\r\n //设置插入选项\r\n property.setInterpolationOptions({\r\n interpolationDegree: 1,\r\n interpolationAlgorithm: LagrangePolynomialApproximation,\r\n })\r\n\r\n for (let i = 0; i < currentLine.current.length; i++) {\r\n const time = JulianDate.addSeconds(\r\n start,\r\n i,\r\n new JulianDate()\r\n );\r\n const position = currentLine.current[i]\r\n property.addSample(time, position)\r\n }\r\n return property\r\n }\r\n\r\n // 继续逻辑\r\n const resumeHandler = () => {\r\n map.clock.multiplier = 0.3;\r\n isPlaying.current = true;\r\n }\r\n\r\n // 暂停逻辑\r\n const pauseHandler = () => {\r\n map.clock.multiplier = 0\r\n isPlaying.current = false;\r\n }\r\n\r\n // 结束逻辑\r\n const stopHandler = () => {\r\n if (!drawLayer.current) return\r\n isPlaying.current = false\r\n startHandler()\r\n map.clock.shouldAnimate = false\r\n map.clock.multiplier = 0\r\n map.scene.postRender.removeEventListener(isOver)\r\n }\r\n\r\n // 清除逻辑\r\n const clearData = () => {\r\n if (currentLine.current) {\r\n currentLine.current = []\r\n }\r\n if (drawLayer.current) drawLayer.current.entities.removeAll()\r\n // 清除追踪实体\r\n if (trackedEntity.current) trackedEntity.current = null\r\n }\r\n\r\n // 绘制线\r\n const drawLine = (clampToGround) => {\r\n clearData()\r\n const handler = new ScreenSpaceEventHandler(map.scene.canvas)\r\n const position = []\r\n if (handler) {\r\n handler.setInputAction((movement) => {\r\n // 将屏幕坐标转换为笛卡尔坐标\r\n const cartesian = getCartesian3FromXY(map, movement.position)\r\n if (cartesian && cartesian.x) {\r\n if (position.length === 0) {\r\n position.push(cartesian.clone())\r\n }\r\n position.push(cartesian)\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK)\r\n\r\n handler.setInputAction((movement) => {\r\n const catesian = getCartesian3FromXY(map, movement.endPosition)\r\n if (position.length >= 2) {\r\n if (catesian && catesian.x) {\r\n position.pop()\r\n position.push(catesian)\r\n }\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE)\r\n\r\n handler.setInputAction(() => {\r\n if (handler) {\r\n handler.destroy()\r\n }\r\n currentLine.current = position\r\n }, ScreenSpaceEventType.RIGHT_CLICK)\r\n\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: new CallbackProperty(() => {\r\n return position\r\n }, false),\r\n width: 5,\r\n material: Color.BLUE.withAlpha(0.5),\r\n clampToGround: clampToGround\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n drawLayer.current = new CustomDataSource('measureLayer');\r\n drawLayer.current.unclickable = true;\r\n drawLayer.current.cancelBubble = true;\r\n\r\n map.dataSources.add(drawLayer.current)\r\n // 默认加载为 第一视角\r\n if (perspective === 'first') {\r\n setView()\r\n }\r\n\r\n if (data?.length) {\r\n currentLine.current = data.map(item => {\r\n return Cartesian3.fromDegrees(item[0], item[1], item[2] || 10)\r\n })\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: currentLine.current,\r\n width: 5,\r\n material: Color.fromCssColorString(transformRgb(pathColor || '#ff4646', pathOpacity || 1)),\r\n clampToGround: true\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n return () => {\r\n if (drawLayer.current) {\r\n map.dataSources.remove(drawLayer.current, true)\r\n }\r\n removePreRenderHandler()\r\n map.scene.postRender.removeEventListener(isOver)\r\n }\r\n }, [])\r\n\r\n useUpdateEffect(() => {\r\n drawLayer.current.entities.removeAll();\r\n if (data?.length) {\r\n currentLine.current = data.map(item => {\r\n return Cartesian3.fromDegrees(item[0], item[1], item[2] || 10)\r\n })\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: currentLine.current,\r\n width: 5,\r\n material: Color.fromCssColorString(transformRgb(pathColor || '#ff4646', pathOpacity || 1)),\r\n clampToGround: true\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n }, [JSON.stringify(data)])\r\n\r\n return <></>\r\n})\r\n\r\nSceneRoam.propTypes = {\r\n data: PropTypes.array,\r\n perspective: PropTypes.string,\r\n model: PropTypes.object,\r\n pathColor: PropTypes.string,\r\n pathOpacity: PropTypes.number,\r\n onPlaying: PropTypes.func,\r\n onPlayEnd: PropTypes.func,\r\n}\r\nexport default SceneRoam\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_antd","_cesium","_useProps2","_cesium2","_transformRgb","_ahooks","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","o","Symbol","iterator","constructor","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","SceneRoam","forwardRef","props","ref","_props$data","data","perspective","model","pathColor","pathOpacity","onPlaying","onPlayEnd","_useProps","useProps","map","drawLayer","useRef","currentLine","trackedEntity","isPlaying","currentPerspective","useImperativeHandle","handleChange","removePreRenderHandler","handleControl","startHandler","pauseHandler","stopHandler","clearData","drawLine","getEntity","current","setView","scene","preRender","removeEventListener","renderListener","type","message","info","resumeHandler","entities","removeAll","clock","shouldAnimate","start","JulianDate","now","stop","addSeconds","startTime","clone","stopTime","currentTime","clockRange","ClockRange","UNBOUNDED","multiplier","position","computeCirclularFlight","add","availability","TimeIntervalCollection","TimeInterval","orientation","VelocityOrientationProperty","uri","scale","path","resolution","material","PolylineGlowMaterialProperty","glowPower","color","Color","GREEN","width","postRender","addEventListener","isOver","useCallback","matrix3Scratch","Matrix3","scratch","Matrix4","getModelMatrix","entity","time","result","Property","getValueOrUndefined","Cartesian3","defined","Quaternion","Transforms","eastNorthUpToFixedFrame","fromRotationTranslation","fromQuaternion","transformX","transformZ","transformY","camera","lookAtTransform","positionProperty","getValue","distance","property","SampledPositionProperty","setInterpolationOptions","interpolationDegree","interpolationAlgorithm","LagrangePolynomialApproximation","i","addSample","clampToGround","handler","ScreenSpaceEventHandler","canvas","setInputAction","movement","cartesian","getCartesian3FromXY","x","ScreenSpaceEventType","LEFT_CLICK","catesian","endPosition","pop","MOUSE_MOVE","destroy","RIGHT_CLICK","lineEntity","Entity","id","polyline","positions","CallbackProperty","BLUE","withAlpha","useEffect","CustomDataSource","unclickable","cancelBubble","dataSources","item","fromDegrees","fromCssColorString","transformRgb","remove","useUpdateEffect","JSON","stringify","createElement","Fragment","propTypes","PropTypes","array","string","object","number","func","_default","exports"],"sources":["scene-roam/index.js"],"sourcesContent":["import React, { useEffect, useRef, useImperativeHandle, forwardRef, useCallback } from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { message } from 'antd'\r\nimport { getCartesian3FromXY } from '../_util/cesium';\r\nimport useProps from '../use-props';\r\nimport {\r\n CustomDataSource,\r\n Cartesian3,\r\n Entity,\r\n JulianDate,\r\n ClockRange,\r\n TimeIntervalCollection,\r\n TimeInterval,\r\n VelocityOrientationProperty,\r\n PolylineGlowMaterialProperty,\r\n Color,\r\n Matrix3,\r\n Matrix4,\r\n defined,\r\n Quaternion,\r\n Transforms,\r\n SampledPositionProperty,\r\n LagrangePolynomialApproximation,\r\n ScreenSpaceEventHandler,\r\n ScreenSpaceEventType,\r\n CallbackProperty,\r\n Property\r\n} from 'cesium';\r\nimport transformRgb from \"../_util/transformRgb\";\r\nimport {useUpdateEffect} from 'ahooks';\r\n\r\nconst SceneRoam = forwardRef((props, ref) => {\r\n const {data = [], perspective, model, pathColor, pathOpacity, onPlaying, onPlayEnd} = props;\r\n const { map } = useProps()\r\n const drawLayer = useRef(null)\r\n const currentLine = useRef([])\r\n const trackedEntity = useRef()\r\n const isPlaying = useRef(false)\r\n const currentPerspective = useRef(perspective || 'third')\r\n\r\n useImperativeHandle(ref, () => ({\r\n handleChange: handleChange,\r\n removePreRenderHandler: removePreRenderHandler,\r\n handleControl: handleControl,\r\n startHandler: startHandler,\r\n pauseHandler: pauseHandler,\r\n stopHandler: stopHandler,\r\n clearData: clearData,\r\n drawLine: drawLine,\r\n trackedEntity,\r\n getEntity\r\n }));\r\n\r\n const getEntity = () => {\r\n return trackedEntity.current;\r\n }\r\n\r\n const handleChange = (value) => {\r\n currentPerspective.current = value\r\n removePreRenderHandler()\r\n switch(value) {\r\n case 'first':\r\n setView()\r\n if (trackedEntity.current) map.trackedEntity = trackedEntity.current\r\n break\r\n case 'third':\r\n removePreRenderHandler()\r\n if (trackedEntity.current) map.trackedEntity = trackedEntity.current\r\n break\r\n case 'free':\r\n map.trackedEntity = undefined\r\n }\r\n }\r\n\r\n // 移除 preRender 事件监听\r\n const removePreRenderHandler = () => {\r\n map.scene.preRender.removeEventListener(renderListener)\r\n }\r\n\r\n const handleControl = (type) => {\r\n if (!currentLine.current.length && (type === 'start' || type === 'stop')) {\r\n message.info('请先绘制路线')\r\n return\r\n }\r\n switch(type) {\r\n case 'start':\r\n startHandler()\r\n break\r\n case 'resume':\r\n resumeHandler()\r\n break\r\n case 'pause':\r\n pauseHandler()\r\n break\r\n case 'stop':\r\n stopHandler()\r\n break\r\n default:\r\n clearData()\r\n }\r\n }\r\n\r\n // 开始逻辑\r\n const startHandler = () => {\r\n if (!drawLayer.current) return\r\n drawLayer.current.entities.removeAll()\r\n map.clock.shouldAnimate = true\r\n if (!isPlaying.current) {\r\n // 生成开始时间以及结束时间\r\n const start = JulianDate.now()\r\n const stop = JulianDate.addSeconds(\r\n start,\r\n currentLine.current.length - 1,\r\n new JulianDate()\r\n )\r\n map.clock.startTime = start.clone()\r\n map.clock.stopTime = stop.clone()\r\n map.clock.currentTime = start.clone()\r\n map.clock.clockRange = ClockRange.UNBOUNDED\r\n map.clock.multiplier = 0.3\r\n\r\n const position = computeCirclularFlight(start)\r\n\r\n trackedEntity.current = drawLayer.current.entities.add({\r\n availability: new TimeIntervalCollection([\r\n new TimeInterval({\r\n start,\r\n stop,\r\n }),\r\n ]),\r\n position: position,\r\n orientation: new VelocityOrientationProperty(position),\r\n model: {\r\n uri: '/models/drone.glb',\r\n scale: 0.3,\r\n ...model\r\n },\r\n path: {\r\n resolution: 1,\r\n material: new PolylineGlowMaterialProperty({\r\n glowPower: 0.1,\r\n color: Color.GREEN,\r\n }),\r\n width: 16,\r\n },\r\n })\r\n map.scene.postRender.addEventListener(isOver)\r\n isPlaying.current = false\r\n } else {\r\n map.clock.multiplier = 0.3\r\n }\r\n // 设置视角\r\n handleChange(currentPerspective.current)\r\n }\r\n\r\n const renderListener = useCallback(() => {\r\n let matrix3Scratch = new Matrix3()\r\n let scratch = new Matrix4()\r\n const currentTime = map.clock.currentTime;\r\n if (map.trackedEntity) {\r\n const getModelMatrix = (entity, time, result) => {\r\n const position = Property.getValueOrUndefined(\r\n entity.position,\r\n time,\r\n new Cartesian3()\r\n )\r\n if (!defined(position)) {\r\n return undefined\r\n }\r\n const orientation = Property.getValueOrUndefined(\r\n entity.orientation,\r\n time,\r\n new Quaternion()\r\n )\r\n if (!defined(orientation)) {\r\n result = Transforms.eastNorthUpToFixedFrame(\r\n position,\r\n undefined,\r\n result\r\n );\r\n } else {\r\n result = Matrix4.fromRotationTranslation(\r\n Matrix3.fromQuaternion(orientation, matrix3Scratch),\r\n position,\r\n result\r\n )\r\n }\r\n return result\r\n }\r\n\r\n getModelMatrix(map.trackedEntity, currentTime, scratch)\r\n const transformX = 90 //距离运动点的距离(后方)\r\n const transformZ = 55 //距离运动点的高度(上方)\r\n const transformY = 0 //距离运动点的高度(侧方)\r\n map.scene.camera.lookAtTransform(\r\n scratch,\r\n new Cartesian3(-transformX, transformY, transformZ)\r\n )\r\n }\r\n\r\n onPlaying?.(trackedEntity.current, currentTime);\r\n }, [])\r\n\r\n const setView = () => {\r\n removePreRenderHandler()\r\n //视角变换\r\n map.scene.preRender.addEventListener(renderListener)\r\n }\r\n\r\n const isOver = () => {\r\n if (!trackedEntity.current) return\r\n const positionProperty = trackedEntity.current.position\r\n if (!positionProperty) return\r\n // 得到实体对象的地理坐标位置\r\n const position = positionProperty.getValue(map.clock.currentTime)\r\n if (position && Cartesian3.distance(position, currentLine.current[currentLine.current.length - 1]) < 1) {\r\n // 播放停止\r\n isPlaying.current = false\r\n // startHandler()\r\n map.clock.shouldAnimate = false\r\n map.clock.multiplier = 0\r\n removePreRenderHandler();\r\n map.scene.postRender.removeEventListener(isOver)\r\n map.trackedEntity = null;\r\n onPlayEnd?.()\r\n }\r\n }\r\n\r\n // 生成高度\r\n const computeCirclularFlight = (start) => {\r\n if (!currentLine.current.length) {\r\n message.info('请先绘制路线')\r\n return\r\n }\r\n const property = new SampledPositionProperty()\r\n //设置插入选项\r\n property.setInterpolationOptions({\r\n interpolationDegree: 1,\r\n interpolationAlgorithm: LagrangePolynomialApproximation,\r\n })\r\n\r\n for (let i = 0; i < currentLine.current.length; i++) {\r\n const time = JulianDate.addSeconds(\r\n start,\r\n i,\r\n new JulianDate()\r\n );\r\n const position = currentLine.current[i]\r\n property.addSample(time, position)\r\n }\r\n return property\r\n }\r\n\r\n // 继续逻辑\r\n const resumeHandler = () => {\r\n map.clock.multiplier = 0.3;\r\n isPlaying.current = true;\r\n }\r\n\r\n // 暂停逻辑\r\n const pauseHandler = () => {\r\n map.clock.multiplier = 0\r\n isPlaying.current = false;\r\n }\r\n\r\n // 结束逻辑\r\n const stopHandler = () => {\r\n if (!drawLayer.current) return\r\n isPlaying.current = false\r\n startHandler()\r\n map.clock.shouldAnimate = false\r\n map.clock.multiplier = 0\r\n map.scene.postRender.removeEventListener(isOver)\r\n }\r\n\r\n // 清除逻辑\r\n const clearData = () => {\r\n if (currentLine.current) {\r\n currentLine.current = []\r\n }\r\n if (drawLayer.current) drawLayer.current.entities.removeAll()\r\n // 清除追踪实体\r\n if (trackedEntity.current) trackedEntity.current = null\r\n }\r\n\r\n // 绘制线\r\n const drawLine = (clampToGround) => {\r\n clearData()\r\n const handler = new ScreenSpaceEventHandler(map.scene.canvas)\r\n const position = []\r\n if (handler) {\r\n handler.setInputAction((movement) => {\r\n // 将屏幕坐标转换为笛卡尔坐标\r\n const cartesian = getCartesian3FromXY(map, movement.position)\r\n if (cartesian && cartesian.x) {\r\n if (position.length === 0) {\r\n position.push(cartesian.clone())\r\n }\r\n position.push(cartesian)\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK)\r\n\r\n handler.setInputAction((movement) => {\r\n const catesian = getCartesian3FromXY(map, movement.endPosition)\r\n if (position.length >= 2) {\r\n if (catesian && catesian.x) {\r\n position.pop()\r\n position.push(catesian)\r\n }\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE)\r\n\r\n handler.setInputAction(() => {\r\n if (handler) {\r\n handler.destroy()\r\n }\r\n currentLine.current = position\r\n }, ScreenSpaceEventType.RIGHT_CLICK)\r\n\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: new CallbackProperty(() => {\r\n return position\r\n }, false),\r\n width: 5,\r\n material: Color.BLUE.withAlpha(0.5),\r\n clampToGround: clampToGround\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n drawLayer.current = new CustomDataSource('measureLayer');\r\n drawLayer.current.unclickable = true;\r\n drawLayer.current.cancelBubble = true;\r\n\r\n map.dataSources.add(drawLayer.current)\r\n // 默认加载为 第一视角\r\n if (perspective === 'first') {\r\n setView()\r\n }\r\n\r\n if (data?.length) {\r\n currentLine.current = data.map(item => {\r\n return Cartesian3.fromDegrees(item[0], item[1], item[2] || 10)\r\n })\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: currentLine.current,\r\n width: 5,\r\n material: Color.fromCssColorString(transformRgb(pathColor || '#ff4646', pathOpacity || 1)),\r\n clampToGround: true\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n return () => {\r\n if (drawLayer.current) {\r\n map.dataSources.remove(drawLayer.current, true)\r\n }\r\n removePreRenderHandler()\r\n map.scene.postRender.removeEventListener(isOver)\r\n }\r\n }, [])\r\n\r\n useUpdateEffect(() => {\r\n drawLayer.current.entities.removeAll();\r\n if (data?.length) {\r\n currentLine.current = data.map(item => {\r\n return Cartesian3.fromDegrees(item[0], item[1], item[2] || 10)\r\n })\r\n const lineEntity = new Entity({\r\n id: 'trackLine',\r\n polyline: {\r\n positions: currentLine.current,\r\n width: 5,\r\n material: Color.fromCssColorString(transformRgb(pathColor || '#ff4646', pathOpacity || 1)),\r\n clampToGround: true\r\n }\r\n })\r\n if (drawLayer.current) {\r\n drawLayer.current.entities.add(lineEntity)\r\n }\r\n }\r\n }, [JSON.stringify(data)])\r\n\r\n return <></>\r\n})\r\n\r\nSceneRoam.propTypes = {\r\n data: PropTypes.array,\r\n perspective: PropTypes.string,\r\n model: PropTypes.object,\r\n pathColor: PropTypes.string,\r\n pathOpacity: PropTypes.number,\r\n onPlaying: PropTypes.func,\r\n onPlayEnd: PropTypes.func,\r\n}\r\nexport default SceneRoam\r\n"],"mappings":"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"}
@@ -74,7 +74,6 @@ var getMultiPoints = function getMultiPoints(data) {
74
74
  }
75
75
  });
76
76
  });
77
- console.log("points:", points);
78
77
  return points;
79
78
  };
80
79
  function createGradientImage(canvasId, startColor, endColor) {
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeLineLayer.js","names":["_cesium","require","_transformRgb","_interopRequireDefault","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","glsl","computeCircle","radius","positions","radians","CesiumMath","toRadians","push","Cartesian2","Math","cos","sin","computeSquare","size","getMultiPoints","data","points","map","first","first_start","start","join","first_end","end","two","two_start","two_end","value","console","log","createGradientImage","canvasId","startColor","endColor","canvas","document","createElement","width","height","ctx","getContext","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","toDataURL","ThreeLineLayer","options","_this$data","_options$show","show","labelField","template","legend","layerControl","cancelPopup","tipTemplate","viewOnly","color","primitives","loadData","set","_this$primitives","primitive","_this","destroy","colors","item","flat","Infinity","color_str","line_instances","GeometryInstance","geometry","PolylineVolumeGeometry","polylinePositions","Cartesian3","fromDegreesArrayHeights","vertexFormat","VertexFormat","DEFAULT","shapePositions","id","_colors$color_str","_startColor","transformRgb","_endColor","image","line","Primitive","geometryInstances","appearance","MaterialAppearance","material","Material","strict","fabric","uniforms","speed","repeat","source","translucent","minificationFilter","TextureMinificationFilter","LINEAR","magnificationFilter","TextureMagnificationFilter","modelMatrix","Matrix4","IDENTITY","vertexCacheOptimize","interleave","compressVertices","releaseGeometryInstances","allowPicking","cull","asynchronous","debugShowBoundingVolume","shadows","ShadowMode","DISABLED","setAttribute","scene","add","_this$primitives2","remove","_default","exports"],"sources":["three-line-layer/ThreeLineLayer.js"],"sourcesContent":["import {\r\n Material,\r\n Primitive,\r\n GeometryInstance,\r\n PolylineVolumeGeometry,\r\n VertexFormat,\r\n Cartesian3,\r\n Cartesian2,\r\n Math as CesiumMath,\r\n MaterialAppearance,\r\n TextureMagnificationFilter,\r\n TextureMinificationFilter,\r\n Matrix4,\r\n ShadowMode\r\n} from 'cesium';\r\nimport transformRgb from \"../_util/transformRgb\";\r\n\r\nconst glsl = `\r\n czm_material czm_getMaterial(czm_materialInput materialInput) {\r\n czm_material material = czm_getDefaultMaterial(materialInput);\r\n vec2 st = materialInput.st;\r\n // vec2 st = materialInput.st * repeat;\r\n vec4 colorImage = texture2D(image, vec2(fract((st.s - speed * czm_frameNumber * 0.001)), st.t));\r\n material.alpha = colorImage.a;\r\n material.diffuse = colorImage.rgb;\r\n return material;\r\n }`;\r\n\r\n// 创建圆形\r\nfunction computeCircle(radius) {\r\n const positions = [];\r\n for (let i = 0; i < 360; i++) {\r\n const radians = CesiumMath.toRadians(i);\r\n positions.push(new Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));\r\n }\r\n return positions;\r\n}\r\n\r\n// 创建方形\r\nfunction computeSquare(size) {\r\n return [\r\n new Cartesian2(-size, -size), // 左上角\r\n new Cartesian2(size, -size), // 右上角\r\n new Cartesian2(size, size), // 右下角\r\n new Cartesian2(-size, size), // 左下角\r\n ]\r\n}\r\n\r\nconst getMultiPoints = (data) => {\r\n let points = {};\r\n data.map((first) => {\r\n const first_start = first.start.join(',');\r\n const first_end = first.end.join(',');\r\n\r\n data.map(two => {\r\n const two_start = two.start.join(',');\r\n const two_end = two.end.join(',');\r\n\r\n let key, value;\r\n if (first_start === two_start && first_end !== two_end) {\r\n key = first_start;\r\n value = [first.end, first.start, two.end];\r\n } else if (first_start === two_end && first_end !== two_start) {\r\n key = first_start;\r\n value = [first.end, first.start, two.start];\r\n } else if (first_end === two_start && first_start !== two_end) {\r\n key = first_end;\r\n value = [first.start, first.end, two.end];\r\n } else if (first_end === two_end && first_start !== two_start) {\r\n key = first_end;\r\n value = [first.start, first.end, two.start];\r\n }\r\n\r\n if (key && value) {\r\n if (points[key]) {\r\n points[key].push(value);\r\n } else {\r\n points[key] = [value];\r\n }\r\n }\r\n })\r\n })\r\n\r\n console.log(\"points:\", points);\r\n\r\n return points;\r\n}\r\n\r\nfunction createGradientImage(canvasId, startColor,endColor) {\r\n // 获取canvas元素\r\n let canvas = document.createElement('canvas');\r\n\r\n // 设置canvas的尺寸\r\n canvas.width = 512;\r\n canvas.height = 32;\r\n\r\n // 获取绘图上下文\r\n const ctx = canvas.getContext('2d');\r\n\r\n // 创建一个线性渐变\r\n // 假设我们想要从左到右的渐变,你也可以根据需要调整渐变的方向\r\n const gradient = ctx.createLinearGradient(0, 0, 512, 0);\r\n\r\n // 设置渐变的起始颜色和结束颜色\r\n // 如果startColor是'transparent',则直接使用,否则你可能需要转换它\r\n // 这里我们假设startColor已经是有效的CSS颜色字符串,或者你可以添加转换逻辑\r\n gradient.addColorStop(0, startColor || 'transparent'); // 开始是透明的\r\n gradient.addColorStop(1, endColor); // 结束是传入的色值\r\n\r\n // 使用渐变填充整个canvas\r\n ctx.fillStyle = gradient;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n return canvas.toDataURL();\r\n}\r\n\r\nclass ThreeLineLayer {\r\n constructor(options) {\r\n const {show = true} = options;\r\n this.map = options.map;\r\n\r\n // 图层标识\r\n this.key = options.key;\r\n\r\n // 图层名称\r\n this.name = options.name;\r\n\r\n // 标签字段\r\n this.labelField = options.labelField;\r\n\r\n // 模版内容\r\n this.template = options.template;\r\n\r\n // 图例\r\n this.legend = options.legend;\r\n\r\n // 图层控制\r\n this.layerControl = options.layerControl;\r\n\r\n // 取消气泡\r\n this.cancelPopup = options.cancelPopup;\r\n\r\n // 气泡模板\r\n this.tipTemplate = options.tipTemplate;\r\n\r\n // 仅展示\r\n this.viewOnly = options.viewOnly;\r\n\r\n this.data = options.data;\r\n\r\n this.color = options.color;\r\n\r\n this.primitives = [];\r\n\r\n this.show = show;\r\n\r\n if (this.data?.length) {\r\n this.loadData(this.data)\r\n }\r\n }\r\n\r\n set show(value) {\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n primitive.show = value;\r\n })\r\n }\r\n }\r\n\r\n loadData(data) {\r\n this.data = data;\r\n const map = this.map;\r\n const show = this.show;\r\n\r\n this.destroy();\r\n\r\n this.primitives = [];\r\n\r\n const colors = {};\r\n\r\n // getMultiPoints(data);\r\n\r\n data.map((item) => {\r\n let {start, end, radius} = item;\r\n\r\n let positions = item.data ? [...item.data.flat(Infinity)] :\r\n [\r\n start[0], start[1], start[2] || 0,\r\n end[0], end[1], end[2] || 0,\r\n ];\r\n\r\n let color_str = item.color || this.color || '#0080ff';\r\n\r\n // 缓存颜色\r\n colors[color_str] = colors[color_str] || {\r\n item,\r\n line_instances: [],\r\n data: [],\r\n color: color_str\r\n };\r\n\r\n // 缓存颜色对应的数据\r\n colors[color_str].line_instances.push(new GeometryInstance({\r\n geometry: new PolylineVolumeGeometry({\r\n polylinePositions: Cartesian3.fromDegreesArrayHeights(positions),\r\n vertexFormat : VertexFormat.DEFAULT,\r\n shapePositions : computeCircle(radius || 1.0)\r\n }),\r\n id: item.id\r\n }))\r\n\r\n colors[color_str].data.push(item)\r\n });\r\n\r\n for (let color_str in colors) {\r\n const {color, line_instances, startColor, endColor, data} = colors[color_str];\r\n // 颜色转换\r\n const _startColor = startColor || transformRgb(color, 0.2);\r\n const _endColor = endColor || transformRgb(color, 1);\r\n\r\n const image = createGradientImage(color_str, _startColor, _endColor);\r\n\r\n const line = new Primitive({\r\n geometryInstances: line_instances,\r\n show,\r\n appearance: new MaterialAppearance({\r\n flat: false,\r\n material: new Material({\r\n strict: false,\r\n fabric: {\r\n uniforms: {\r\n image,\r\n speed: 5,\r\n repeat: new Cartesian2(1.0, 0.0) // 设置水平和垂直方向上的重复次数\r\n },\r\n source: glsl,\r\n },\r\n translucent: function() {\r\n return true;\r\n },\r\n minificationFilter: TextureMinificationFilter.LINEAR,\r\n magnificationFilter: TextureMagnificationFilter.LINEAR,\r\n })\r\n }),\r\n modelMatrix: Matrix4.IDENTITY,\r\n vertexCacheOptimize: false,\r\n interleave: false,\r\n compressVertices: true,\r\n releaseGeometryInstances: true,\r\n allowPicking: true,\r\n cull: true,\r\n asynchronous: true,\r\n debugShowBoundingVolume: false,\r\n shadows: ShadowMode.DISABLED\r\n })\r\n this.setAttribute(line, data);\r\n map.scene.primitives.add(line);\r\n this.primitives.push(line);\r\n }\r\n }\r\n\r\n setAttribute(primitive, data) {\r\n // 图层标识\r\n primitive.key = this.key;\r\n\r\n // 数据\r\n primitive.data = data;\r\n\r\n // 图层名称\r\n primitive.name = this.name;\r\n\r\n // 标签字段\r\n primitive.labelField = this.labelField;\r\n\r\n // 模版内容\r\n primitive.template = this.template;\r\n\r\n // 图例\r\n primitive.legend = this.legend;\r\n\r\n // 图层控制\r\n primitive.layerControl = this.layerControl;\r\n\r\n // 取消气泡\r\n primitive.cancelPopup = this.cancelPopup;\r\n\r\n // 气泡模板\r\n primitive.tipTemplate = this.tipTemplate;\r\n\r\n // 仅展示\r\n primitive.viewOnly = this.viewOnly;\r\n }\r\n\r\n destroy() {\r\n const map = this.map;\r\n\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n map.scene.primitives.remove(primitive);\r\n })\r\n this.primitives = null;\r\n }\r\n }\r\n}\r\n\r\nexport default ThreeLineLayer;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThreeLineLayer.js","names":["_cesium","require","_transformRgb","_interopRequireDefault","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","glsl","computeCircle","radius","positions","radians","CesiumMath","toRadians","push","Cartesian2","Math","cos","sin","computeSquare","size","getMultiPoints","data","points","map","first","first_start","start","join","first_end","end","two","two_start","two_end","value","createGradientImage","canvasId","startColor","endColor","canvas","document","createElement","width","height","ctx","getContext","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","toDataURL","ThreeLineLayer","options","_this$data","_options$show","show","labelField","template","legend","layerControl","cancelPopup","tipTemplate","viewOnly","color","primitives","loadData","set","_this$primitives","primitive","_this","destroy","colors","item","flat","Infinity","color_str","line_instances","GeometryInstance","geometry","PolylineVolumeGeometry","polylinePositions","Cartesian3","fromDegreesArrayHeights","vertexFormat","VertexFormat","DEFAULT","shapePositions","id","_colors$color_str","_startColor","transformRgb","_endColor","image","line","Primitive","geometryInstances","appearance","MaterialAppearance","material","Material","strict","fabric","uniforms","speed","repeat","source","translucent","minificationFilter","TextureMinificationFilter","LINEAR","magnificationFilter","TextureMagnificationFilter","modelMatrix","Matrix4","IDENTITY","vertexCacheOptimize","interleave","compressVertices","releaseGeometryInstances","allowPicking","cull","asynchronous","debugShowBoundingVolume","shadows","ShadowMode","DISABLED","setAttribute","scene","add","_this$primitives2","remove","_default","exports"],"sources":["three-line-layer/ThreeLineLayer.js"],"sourcesContent":["import {\r\n Material,\r\n Primitive,\r\n GeometryInstance,\r\n PolylineVolumeGeometry,\r\n VertexFormat,\r\n Cartesian3,\r\n Cartesian2,\r\n Math as CesiumMath,\r\n MaterialAppearance,\r\n TextureMagnificationFilter,\r\n TextureMinificationFilter,\r\n Matrix4,\r\n ShadowMode\r\n} from 'cesium';\r\nimport transformRgb from \"../_util/transformRgb\";\r\n\r\nconst glsl = `\r\n czm_material czm_getMaterial(czm_materialInput materialInput) {\r\n czm_material material = czm_getDefaultMaterial(materialInput);\r\n vec2 st = materialInput.st;\r\n // vec2 st = materialInput.st * repeat;\r\n vec4 colorImage = texture2D(image, vec2(fract((st.s - speed * czm_frameNumber * 0.001)), st.t));\r\n material.alpha = colorImage.a;\r\n material.diffuse = colorImage.rgb;\r\n return material;\r\n }`;\r\n\r\n// 创建圆形\r\nfunction computeCircle(radius) {\r\n const positions = [];\r\n for (let i = 0; i < 360; i++) {\r\n const radians = CesiumMath.toRadians(i);\r\n positions.push(new Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));\r\n }\r\n return positions;\r\n}\r\n\r\n// 创建方形\r\nfunction computeSquare(size) {\r\n return [\r\n new Cartesian2(-size, -size), // 左上角\r\n new Cartesian2(size, -size), // 右上角\r\n new Cartesian2(size, size), // 右下角\r\n new Cartesian2(-size, size), // 左下角\r\n ]\r\n}\r\n\r\nconst getMultiPoints = (data) => {\r\n let points = {};\r\n data.map((first) => {\r\n const first_start = first.start.join(',');\r\n const first_end = first.end.join(',');\r\n\r\n data.map(two => {\r\n const two_start = two.start.join(',');\r\n const two_end = two.end.join(',');\r\n\r\n let key, value;\r\n if (first_start === two_start && first_end !== two_end) {\r\n key = first_start;\r\n value = [first.end, first.start, two.end];\r\n } else if (first_start === two_end && first_end !== two_start) {\r\n key = first_start;\r\n value = [first.end, first.start, two.start];\r\n } else if (first_end === two_start && first_start !== two_end) {\r\n key = first_end;\r\n value = [first.start, first.end, two.end];\r\n } else if (first_end === two_end && first_start !== two_start) {\r\n key = first_end;\r\n value = [first.start, first.end, two.start];\r\n }\r\n\r\n if (key && value) {\r\n if (points[key]) {\r\n points[key].push(value);\r\n } else {\r\n points[key] = [value];\r\n }\r\n }\r\n })\r\n })\r\n\r\n return points;\r\n}\r\n\r\nfunction createGradientImage(canvasId, startColor,endColor) {\r\n // 获取canvas元素\r\n let canvas = document.createElement('canvas');\r\n\r\n // 设置canvas的尺寸\r\n canvas.width = 512;\r\n canvas.height = 32;\r\n\r\n // 获取绘图上下文\r\n const ctx = canvas.getContext('2d');\r\n\r\n // 创建一个线性渐变\r\n // 假设我们想要从左到右的渐变,你也可以根据需要调整渐变的方向\r\n const gradient = ctx.createLinearGradient(0, 0, 512, 0);\r\n\r\n // 设置渐变的起始颜色和结束颜色\r\n // 如果startColor是'transparent',则直接使用,否则你可能需要转换它\r\n // 这里我们假设startColor已经是有效的CSS颜色字符串,或者你可以添加转换逻辑\r\n gradient.addColorStop(0, startColor || 'transparent'); // 开始是透明的\r\n gradient.addColorStop(1, endColor); // 结束是传入的色值\r\n\r\n // 使用渐变填充整个canvas\r\n ctx.fillStyle = gradient;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n return canvas.toDataURL();\r\n}\r\n\r\nclass ThreeLineLayer {\r\n constructor(options) {\r\n const {show = true} = options;\r\n this.map = options.map;\r\n\r\n // 图层标识\r\n this.key = options.key;\r\n\r\n // 图层名称\r\n this.name = options.name;\r\n\r\n // 标签字段\r\n this.labelField = options.labelField;\r\n\r\n // 模版内容\r\n this.template = options.template;\r\n\r\n // 图例\r\n this.legend = options.legend;\r\n\r\n // 图层控制\r\n this.layerControl = options.layerControl;\r\n\r\n // 取消气泡\r\n this.cancelPopup = options.cancelPopup;\r\n\r\n // 气泡模板\r\n this.tipTemplate = options.tipTemplate;\r\n\r\n // 仅展示\r\n this.viewOnly = options.viewOnly;\r\n\r\n this.data = options.data;\r\n\r\n this.color = options.color;\r\n\r\n this.primitives = [];\r\n\r\n this.show = show;\r\n\r\n if (this.data?.length) {\r\n this.loadData(this.data)\r\n }\r\n }\r\n\r\n set show(value) {\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n primitive.show = value;\r\n })\r\n }\r\n }\r\n\r\n loadData(data) {\r\n this.data = data;\r\n const map = this.map;\r\n const show = this.show;\r\n\r\n this.destroy();\r\n\r\n this.primitives = [];\r\n\r\n const colors = {};\r\n\r\n // getMultiPoints(data);\r\n\r\n data.map((item) => {\r\n let {start, end, radius} = item;\r\n\r\n let positions = item.data ? [...item.data.flat(Infinity)] :\r\n [\r\n start[0], start[1], start[2] || 0,\r\n end[0], end[1], end[2] || 0,\r\n ];\r\n\r\n let color_str = item.color || this.color || '#0080ff';\r\n\r\n // 缓存颜色\r\n colors[color_str] = colors[color_str] || {\r\n item,\r\n line_instances: [],\r\n data: [],\r\n color: color_str\r\n };\r\n\r\n // 缓存颜色对应的数据\r\n colors[color_str].line_instances.push(new GeometryInstance({\r\n geometry: new PolylineVolumeGeometry({\r\n polylinePositions: Cartesian3.fromDegreesArrayHeights(positions),\r\n vertexFormat : VertexFormat.DEFAULT,\r\n shapePositions : computeCircle(radius || 1.0)\r\n }),\r\n id: item.id\r\n }))\r\n\r\n colors[color_str].data.push(item)\r\n });\r\n\r\n for (let color_str in colors) {\r\n const {color, line_instances, startColor, endColor, data} = colors[color_str];\r\n // 颜色转换\r\n const _startColor = startColor || transformRgb(color, 0.2);\r\n const _endColor = endColor || transformRgb(color, 1);\r\n\r\n const image = createGradientImage(color_str, _startColor, _endColor);\r\n\r\n const line = new Primitive({\r\n geometryInstances: line_instances,\r\n show,\r\n appearance: new MaterialAppearance({\r\n flat: false,\r\n material: new Material({\r\n strict: false,\r\n fabric: {\r\n uniforms: {\r\n image,\r\n speed: 5,\r\n repeat: new Cartesian2(1.0, 0.0) // 设置水平和垂直方向上的重复次数\r\n },\r\n source: glsl,\r\n },\r\n translucent: function() {\r\n return true;\r\n },\r\n minificationFilter: TextureMinificationFilter.LINEAR,\r\n magnificationFilter: TextureMagnificationFilter.LINEAR,\r\n })\r\n }),\r\n modelMatrix: Matrix4.IDENTITY,\r\n vertexCacheOptimize: false,\r\n interleave: false,\r\n compressVertices: true,\r\n releaseGeometryInstances: true,\r\n allowPicking: true,\r\n cull: true,\r\n asynchronous: true,\r\n debugShowBoundingVolume: false,\r\n shadows: ShadowMode.DISABLED\r\n })\r\n this.setAttribute(line, data);\r\n map.scene.primitives.add(line);\r\n this.primitives.push(line);\r\n }\r\n }\r\n\r\n setAttribute(primitive, data) {\r\n // 图层标识\r\n primitive.key = this.key;\r\n\r\n // 数据\r\n primitive.data = data;\r\n\r\n // 图层名称\r\n primitive.name = this.name;\r\n\r\n // 标签字段\r\n primitive.labelField = this.labelField;\r\n\r\n // 模版内容\r\n primitive.template = this.template;\r\n\r\n // 图例\r\n primitive.legend = this.legend;\r\n\r\n // 图层控制\r\n primitive.layerControl = this.layerControl;\r\n\r\n // 取消气泡\r\n primitive.cancelPopup = this.cancelPopup;\r\n\r\n // 气泡模板\r\n primitive.tipTemplate = this.tipTemplate;\r\n\r\n // 仅展示\r\n primitive.viewOnly = this.viewOnly;\r\n }\r\n\r\n destroy() {\r\n const map = this.map;\r\n\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n map.scene.primitives.remove(primitive);\r\n })\r\n this.primitives = null;\r\n }\r\n }\r\n}\r\n\r\nexport default ThreeLineLayer;\r\n"],"mappings":"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"}
@@ -153,7 +153,13 @@ function _default(props) {
153
153
  }
154
154
  } else if (type === 'layer') {
155
155
  if (e.feature) {
156
+ var fitViewHeight = map.fitViewHeight;
157
+ var autoView = map.autoView;
158
+ map.fitViewHeight = 100;
159
+ map.autoView = true;
156
160
  map.showTemplate(e.feature);
161
+ map.fitViewHeight = fitViewHeight;
162
+ map.autoView = autoView;
157
163
  }
158
164
  }
159
165
  setValue(e.label);