3128 lines
		
	
	
		
			142 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			3128 lines
		
	
	
		
			142 KiB
		
	
	
	
		
			JavaScript
		
	
	
 | 
						||
var CustomCesium;
 | 
						||
(() => {
 | 
						||
    "use strict";
 | 
						||
 | 
						||
    var __webpack_modules__ = {
 | 
						||
        117: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
 | 
						||
            __webpack_require__.d(__webpack_exports__, { Z: () => Radar });
 | 
						||
 | 
						||
            class Radar {
 | 
						||
                constructor(e) {
 | 
						||
                    this.viewer = e.viewer, this.icy = e, this.entity = null, this.entity1 = null, this.timer = null
 | 
						||
                }
 | 
						||
 | 
						||
                add(positions, color, coneData, canvas, coneId, billboardId) {
 | 
						||
                    this.entity = this.viewer.entities.add({
 | 
						||
                        position: Cesium.Cartesian3.fromDegrees(positions[0], positions[1], positions[2]),
 | 
						||
                        name: "圆锥",
 | 
						||
                        id: coneId,
 | 
						||
                        cylinder: {
 | 
						||
                            length: coneData.height,
 | 
						||
                            topRadius: 0,
 | 
						||
                            bottomRadius: coneData.width,
 | 
						||
                            disableDepthTestDistance: 5e5,
 | 
						||
                            material: new CircleRippleMaterialProperty({
 | 
						||
                                color: new Cesium.Color.fromCssColorString(color),
 | 
						||
                                speed: 10,
 | 
						||
                                count: 3,
 | 
						||
                                gradient: .5
 | 
						||
                            })
 | 
						||
                        }
 | 
						||
                    });
 | 
						||
                    let imgUrl = new Image;
 | 
						||
                    imgUrl.src = canvas.toDataURL("image/jpg"), imgUrl.style.borderRadius = "20px", this.entity1 = this.viewer.entities.add({
 | 
						||
                        name: "聚集铭牌",
 | 
						||
                        id: billboardId,
 | 
						||
                        position: Cesium.Cartesian3.fromDegrees(positions[0], positions[1], eval(positions[2] + coneData.height / 2)),
 | 
						||
                        billboard: {
 | 
						||
                            image: imgUrl,
 | 
						||
                            show: !0,
 | 
						||
                            sizeInMeters: !1,
 | 
						||
                            scaleByDistance: new Cesium.NearFarScalar(0, .5, 1e7, .5),
 | 
						||
                            // disableDepthTestDistance: Number.POSITIVE_INFINITY,
 | 
						||
                            horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
 | 
						||
                            verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                            disableDepthTestDistance: 5e5,
 | 
						||
                            scale: 1
 | 
						||
                        }
 | 
						||
                    }), this.animate()
 | 
						||
                }
 | 
						||
 | 
						||
                animate() {
 | 
						||
                    let e = 0;
 | 
						||
                    this.timer = setInterval((() => {
 | 
						||
                        this.entity1.billboard.scale >= 1.5 ? e = 1 : this.entity1.billboard.scale <= 1 && (e = 0), 0 == e ? this.entity1.billboard.scale += .05 : this.entity1.billboard.scale -= .05
 | 
						||
                    }), 50)
 | 
						||
                }
 | 
						||
 | 
						||
                show(e) {
 | 
						||
                    this.entity.show = e, this.entity1.show = e, e ? this.animate() : clearInterval(this.timer)
 | 
						||
                }
 | 
						||
 | 
						||
                destroy() {
 | 
						||
                    clearInterval(this.timer), this.icy.viewer.entities.remove(this.entity), this.entity = void 0, this.icy.viewer.entities.remove(this.entity1), this.entity1 = void 0
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            function CircleRippleMaterialProperty(e) {
 | 
						||
                this._definitionChanged = new Cesium.Event, this._color = void 0, this._speed = void 0, this.color = e.color, this.speed = e.speed, this.count = e.count, this.gradient = e.gradient
 | 
						||
            }
 | 
						||
 | 
						||
            CircleRippleMaterialProperty.prototype = {
 | 
						||
                get isConstant() {
 | 
						||
                    return !1
 | 
						||
                }, get definitionChanged() {
 | 
						||
                    return this._definitionChanged
 | 
						||
                }, getType: function (e) {
 | 
						||
                    return Cesium.Material.CircleRippleMaterialType
 | 
						||
                }, getValue: function (e, t) {
 | 
						||
                    return Cesium.defined(t) || (t = {}), t.color = Cesium.Property.getValueOrDefault(this._color, e, Cesium.Color.RED, t.color), t.speed = Cesium.Property.getValueOrDefault(this._speed, e, 10, t.speed), t.count = this.count, t.gradient = this.gradient, t
 | 
						||
                }, equals: function (e) {
 | 
						||
                    return this === e || e instanceof CircleRippleMaterialProperty && Cesium.Property.equals(this._color, e._color) && Cesium.Property.equals(this._speed, e._speed) && Cesium.Property.equals(this.count, e.count) && Cesium.Property.equals(this.gradient, e.gradient)
 | 
						||
                }
 | 
						||
            }, Object.defineProperties(CircleRippleMaterialProperty.prototype, {
 | 
						||
                color: Cesium.createPropertyDescriptor("color"),
 | 
						||
                speed: Cesium.createPropertyDescriptor("speed"),
 | 
						||
                count: Cesium.createPropertyDescriptor("count"),
 | 
						||
                gradient: Cesium.createPropertyDescriptor("gradient")
 | 
						||
            }), Cesium.CircleRippleMaterialProperty = CircleRippleMaterialProperty, Cesium.Material.CircleRippleMaterialProperty = "CircleRippleMaterialProperty", Cesium.Material.CircleRippleMaterialType = "CircleRippleMaterialType", Cesium.Material.CircleRippleMaterialSource = "\nuniform vec4 color;\nuniform float speed;\nuniform float count;\nuniform float gradient;\n\nczm_material czm_getMaterial(czm_materialInput materialInput) {\n  czm_material material = czm_getDefaultMaterial(materialInput);\n  material.diffuse = 1.2 * color.rgb;\n  vec2 st = materialInput.st;\n  float dis = distance(st, vec2(0.5, 0.5));\n  float per = fract(czm_frameNumber * speed / 1000.0);\n  if(count == 1.0){\n      if(dis > per * 0.5){\n        discard;\n      }else {\n        material.alpha = color.a  * dis / per / 2.0;\n      }\n  } else {\n      vec3 str = materialInput.str;\n      if(abs(str.z)  > 0.001){\n        discard;\n      }\n      if(dis > 0.5){\n        discard;\n      } else {\n        float perDis = 0.5 / count;\n        float disNum;\n        float bl = 0.0;\n        for(int i = 0; i <= 999; i++){\n            if(float(i) <= count){\n              disNum = perDis * float(i) - dis + per / count;\n              if(disNum > 0.0){\n                  if(disNum < perDis){\n                    bl = 1.0 - disNum / perDis;\n                  } else if(disNum - perDis < perDis){\n                    bl = 1.0 - abs(1.0 - disNum / perDis);\n                  }\n                  material.alpha = pow(bl,(1.0 + 10.0 * (1.0 - gradient)));\n              }\n            }\n        }\n      }\n  }\n  return material;\n}\n", Cesium.Material._materialCache.addMaterial(Cesium.Material.CircleRippleMaterialType, {
 | 
						||
                fabric: {
 | 
						||
                    type: Cesium.Material.CircleRippleMaterialType,
 | 
						||
                    uniforms: {
 | 
						||
                        color: new Cesium.Color.fromCssColorString("#ffffff00"),
 | 
						||
                        speed: 3,
 | 
						||
                        count: 4,
 | 
						||
                        gradient: .2
 | 
						||
                    },
 | 
						||
                    source: Cesium.Material.CircleRippleMaterialSource
 | 
						||
                }, translucent: function(e) {
 | 
						||
                    return !0;
 | 
						||
                }
 | 
						||
            })
 | 
						||
 | 
						||
            function PolylineTrailLinkMaterialProperty(options, viewer) {
 | 
						||
                this.viewer = viewer;
 | 
						||
                this._definitionChanged = new Cesium.Event;
 | 
						||
                this._color = undefined;
 | 
						||
                this._colorSubscription = undefined;
 | 
						||
                this.color = options.color;
 | 
						||
                this.duration = options.duration;
 | 
						||
                this.trailImage = options.trailImage;
 | 
						||
                this._time = new Date().getTime();
 | 
						||
            }
 | 
						||
 | 
						||
            PolylineTrailLinkMaterialProperty.prototype = {
 | 
						||
                get isConstant() {
 | 
						||
                    return !1;
 | 
						||
                }, get definitionChanged() {
 | 
						||
                    return this._definitionChanged;
 | 
						||
                },
 | 
						||
                getType: function() {
 | 
						||
                    return "PolylineTrailLink";
 | 
						||
                },
 | 
						||
                getValue: function(time, result) {
 | 
						||
                    if (!Cesium.defined(result)) {
 | 
						||
                        result = {};
 | 
						||
                    }
 | 
						||
                    result.color = Cesium.Property.getValueOrClonedDefault(
 | 
						||
                      this._color,
 | 
						||
                      time,
 | 
						||
                      Cesium.Color.WHITE,
 | 
						||
                      result.color
 | 
						||
                    );
 | 
						||
                    if (this.trailImage) {
 | 
						||
                        result.image = this.trailImage;
 | 
						||
                    } else {
 | 
						||
                        result.image = Cesium.Material.PolylineTrailLinkImage;
 | 
						||
                    }
 | 
						||
 | 
						||
                    if (this.duration) {
 | 
						||
                        result.time =
 | 
						||
                          ((new Date().getTime() - this._time) % this.duration) / this.duration;
 | 
						||
                    }
 | 
						||
                    this.viewer.scene.requestRender();
 | 
						||
                    return result;
 | 
						||
                },
 | 
						||
                equals: function(other) {
 | 
						||
                    return (
 | 
						||
                      this === other ||
 | 
						||
                      (other instanceof PolylineTrailLinkMaterialProperty &&
 | 
						||
                        Cesium.Property.equals(this._color, other._color))
 | 
						||
                    );
 | 
						||
                }
 | 
						||
            };
 | 
						||
            Object.defineProperties(PolylineTrailLinkMaterialProperty.prototype, {
 | 
						||
                color: Cesium.createPropertyDescriptor("color")
 | 
						||
            });
 | 
						||
 | 
						||
            Cesium.PolylineTrailLinkMaterialProperty = PolylineTrailLinkMaterialProperty;
 | 
						||
            Cesium.Material.PolylineTrailLinkType = "PolylineTrailLink";
 | 
						||
            // let n = new Image;
 | 
						||
            //
 | 
						||
            // // let imgxx = new URL("/src/assets/images/img.png", import.meta.url)
 | 
						||
            // //   .href;
 | 
						||
            // // n.src = imgxx.toDataURL("image/jpg");
 | 
						||
            // // console.log("-------------n");
 | 
						||
            // // console.log(n);
 | 
						||
            Cesium.Material.PolylineTrailLinkImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAAgCAYAAABkS8DlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI0MTJBRUY3NzZDQTExRUVBRTkzQzIxOEQyNkY5NjA4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI0MTJBRUY4NzZDQTExRUVBRTkzQzIxOEQyNkY5NjA4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjQxMkFFRjU3NkNBMTFFRUFFOTNDMjE4RDI2Rjk2MDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjQxMkFFRjY3NkNBMTFFRUFFOTNDMjE4RDI2Rjk2MDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4iZbTiAAAPV0lEQVR42uydDXLjuA6ECd3/YnuQvYbxZrJJLMsk+2tQKTuvpKqZycQyRYEE0ADxE5nZrus11z//3j7+/bME8fHv/aP4/Dk+P//7Q9x//PN5Pt/7uZZxeMz3vV/f/Xpm/Dfe32v7es7TmLvP2+M4+7G//78bJw7vE7sxvt53+/vXYV7Hd/j+7o4O32N/0m7//Ic55eH+j3f5j1BxpMdgjIefvwbZr0M8PmvL++Jth3l+3BN32u3XPb7pfP/sY95xmMdunY737+e52xcPNN0e6ZzbgfZb3m/edmsZn1+I3bvv13Tbv8vn/rqv8/NaHeax21OP+23b77d2p0vu9uXWDvcM5rFfs+3AY59zyLajX+ye+TDPP/dvceCRp/2Z9zHiwLPtSMPd71o+zvewL5/m0vJxzWO3f3Y02PFtfsz/sJ4P4xz3VTzKpO8xO/ce1/KDNh/Pv7XPaezfNZ94NR758ZE2j/JrL4u+1zCeadyixwuP+7F11vhBrrWODOvN6SAjv4hw54/83qdPsm73J79k+m7M7/t3Am3by9nWUefx/D53YXWp4Zdf8aj7nzbkbskePsvDv63z/2dh0f9eTp7Zm+9snsfvxmCsMJ6V8Jm99+3ROjp0H81lRqfsrE3vvWfPms03J+sdgKaz5wagfQ6eOxsrxJzUnpvRIXd/YjBPZz1XLsKzo30fgH4u3Zy5RIemrUCj0Vol+E4e/tBn5EAexglrH5CXYnG/EH4MQIsw1ql77wUAXn8l/DwKwmfElPT70fk+VQgh/p8GTaJAs4TCMIXwDfDM6NA3D8o/AI0peKoK4pGQCQE02uDd0tzDUiAJgRzGfleg0qFnCuV8BqiIA5hJSLsqYIiRdQ326kzRBwQWAQFRCjCv1j4K+66Z/F8FSs7/R3KcyIbhPRcAeA8PwAhlzpS2ElLH3ymhkfB3BO3nwDoLwdQV4dWA0k5oMbuMTAWlq8S3idAPSKeeYM+BhZ+D5wRQGgTQzfZNQOCSE6US0GKaAb8AfJcQoFaBfkLrrXff7URjJIv8uGrkODxHZcNPeH/o/M8GDTMenM0tLgDwOzwACZSvEkIp0HgISznFJpodK6h3S7g5YxF9K4utxCyGIBvRqzV2lEMsm4pAJ0pypvB6rvhmrmlF+KUQeAn2vbKYc8APIfgj4Zq4RyfEk+McfawoHeV9cMZaUYo5MWocD0tFqQcE/E0YIq7XiRoWJbl1AYDXW/8BLNm9ZaLOosIUQAGEdgLGGHkvlKvREZ5U2BGrkrrLEngYiNWSnXVUzD0DFhTMEAt59G7krHrkWWhtfOZcWWdHeCplrwDjT1iKypOQhqcpDQDhAlel8NLgXbous6MF5S2ic8kT1q0KnsJcLwqglr0bFwB4vfWfhU0xU7jUkjyDQbJ5QTmOFUsUYoPPU2AhgBCuKP6ZVXy0NhM8JyZjjRQxUaophGoIxeO44JXlFqZXZmv6rDkHwMixdolyds7mHQBUBU0B5xKtH1j5U0ZPGjSfAZHoeIhcr0bVI6A+d+VwBWjE6mJcAOD9AEF188TiBlFC+WaOlybzuS4wBUZmwtqNn1gFSSPQQSOLR65EErSYJihpgDbH8WdBa87RD9nvaqwsvlPvqMY98yfxAq7QV0otD7Lcpa0L0B354h6pOceeYb5fnPT7qjyNgjxzgFTlOOYCAG9wOa73BJtLRWdH0YW0NX0+2rOyFPP20rhUfENAr4Ny7Y6scGU5VwRPtHlMhlJcJBgs4O9GdB9ZYMrlrITPSppcxR3eJpZhdf9XrbOZ9b0NvBIV4DzzBuai/KExB1XvBaHrasCuGxeUxjpmca84gHuFzlcMwC+w+qsCZiZAo7gxG7DilBDNjrXbE8xpCoIZw1TduqsuVurBIJ6GgAKJHu84NBmlezo0C3NePfCak72i0qMUj5D4i1EaaxR4YeYhoee5bv53GGvi5La759wOj0SbxxzNPD1R8NadldFAovEDAnzHK1ABRRcA+D/xENDAGIXyXcUb0GqKidVANr6y2HMiuJWgSUNAzcZNCD4SoH7HAlh2+8HxiEu8cr6ajWWQtIG3Jxb2cYOgcxSIpo5NAioH9Q4rgp3sb/L+JDOoAWBxhmclhVJdATNp8F81O6fymXMEWikydgGAX6DsXSFO80Jnwnwk/Jw8eiIUR6llyr0VgHmzMK+RcDlmX2RjqWFnCEc3IM4VLFQJp/As0dS/HIAnN7aEKj1XmDt8qaxOdfRCLdYszFXVEgk4RgVgVgEayYLIxXGJAfJTMVSr91efnZcH4Pco/TSYItvcfTr6WVlVPebbGk+Vco8KeoIpoCAIg5lHSs2xZp3I8BA/O2s/cluTYMCqa5coM5qFEq2fBkoBrMMHreBxcXK+ZzUQXMF9A8+sFIH6CYub8vCM/pWI+9Ea3opgQn3HSbNb4d+ZPCXHbtQYuyoB/mIPQBNKXJ2DNfi5OtekVgQplkEiequpObR8ao8etKphmwApRT+nfoNjZbuehFlRIqd6nhK4Yeynnmdg9nnFM0JAkTrnd0oSNzFXJ26kmfzeBM/mooyKxoMRXeCh9taKJ6xa6yEK4NN9Zye245Ry1BcAeP01E3CqhG81+GVUpOe4qXu17F13k1PO9/jeM0s/oVLvvTOpY68aC7ln+yOFSpu3OJaXep5Ssj1hQwO4FJAl5+HOPFSFt2i670M1RSshaGhF2ozW3onHUHUuXCMiBx4xQn/F8wnnPyoxTuRMtYkT4dFKYKEDJpUHwAYBFwB4by8APUumY5EGEy6irlgYVUskAQiYof7q2WZChqt0WMzCeyvB4qwpBXez55MmJRWL6Ax60XoHbtlW2o1utufDXDO3udWs14MCGNFq2TEB6D4K7nX0US/Q2AHTAfdpwvVxvBIzuq8YkvYR0QUA3kPhVzo8OUCBuLDImaYjsFZLk5LueDTIaaV+vqNgN3PdaOOlSqe3SkOklfbINF/fFY69/eqmwVUqsTmZCqqnxuj7t4IVqO5Xef20Q5+jwEdWuVLMAbw4qxXy1DEhqa1xxqV4qwq+qyWFLwDwRsqfFNeJBcuNVsRTTOBYPSRtqxIFTwDOSpqao2TJvVT4bgOF7SjdEUBREfyzrpGu90FZJ24nSNVGWilfkornCmcS8EaE8EpGB60fQdKBq3IrITijwLLaMKniQYuCzDnj+Sv3OEAGrfEFAF57rdbqzwnSjuKYI+vRjVIlbVWdVCJKzyy+d2ssWNBF6KRG+0ign9FGldQoGOX6z7JEjvEh6pxdNUMaWYLq6IWe7ToZNhWFeKaCzcbLO1db+BKlomoKRJEujpyiXU9nXsNKgSASb7Xi0XIbOlW8XPK6AMD7eQTcRVb56u6ziCCN5udxVwWhCwwqBY6URamsCJUCR8EOLZ2sLFmny2LAPaGUghuQmpD2lToBbvVDxQfq+2koaDeTogpGe4CJHv9U63sQPmpQUbvek+O7bGB9z24eVKm58Crj8QIAb6T0iXJxrEVifZIANnIu7ebHVtxas0Acco8LAvYgyinQQi3TWcndEEoqxbq7KYa0p7yToloVZCvArRUtPhJHQvK4nflVlYkLBlTQa+/4hz7rZuwXUv2T7iHSMI16vRJ6WahCn3ltHK9ULMgti18uAPD6K4UFGAPB31MePaaueBtI6owKBKrk2VLGqgRAkmeRvgoz191mIPQY8CLpfJemMs9Wq6/eS/VSFdPcQC4SnLoSFKuyOkhMAvXEuXEOTgdISk/3vlEkfbRa7Q4nvmMl4M6VVwEMoNWz+lWZ9xPegrw8AL8XFCRUrrGwWWn7UOKRIHOZxQXQFBxlpdAOdKr4zwiQ5UkCgFgDM08PeSaxVJ1GRAm8Eq6l6pw1Z+Mu9tleUWe8bpGXMPf2yHvjVCWkFmGl5TRV0KO0ujRkg7uXnXlWioNVQFs031NKPRrVK4SOjwsAvNc1U17ZxiVVScR3GtY8CUhbKSpCU29ocRn6O7f1LJ0LsdSpUHXOf6mAVvEevWY3juB2QFEl1310TOJY/NTzZltRkK8T0CVPGM/NR58pLLfaYFWpul4Rwo8qlXT1GTPvG0nvdbomEtBTAQ55AYD3UviOZU+CiQjqJG7+SutNgsodsNIAA1ZQvBu4R0BOGAKx2kiosidm1jttIlVRMrOqjml4Ntygz5Vc70pczcwL5cY3uBahkz1CgAPlxwTvEYK/3DoorkftaDypgkRfc7sVPRbOUUK11TY1rKa8egGA116kJC0p00qak7gpgj2B1gTirVoe0XgUtOOadawRlcPsVP1TXoiA76oCk6ppWTPlPAuCo22hK2e5cQJtVxUF4cMw7j+j+FHFwj0DOKTBIxXg7VjHVcNKgTenLXMW9/KZ5/oVnrsqAf4CL8AMDase9bSAxkjIu8yXAhRUFC2NhlU5507jIgLG1NktyeWlICkhHaIoIGi3NqVsqqmX1aC2aPUCMWSvUc8M2TtZfMez687TwDe1zpW8/CzwHl1nh5fdz8LcH1WAuTJenLCvLwDwxt4Auvl7yi6gFbW35pyz01kFtpV0llxgPlX9T5UyVe101bs5jV1GgWu540XXqnNy2EmzldZ010nn/Sp7opd5QFu1Ot4slT2xUmK1khpYbSTkzCVardJoRbGRwE0yJu342aAsU8cALoBeAXQ/qSvQdQGA9/MEOIIz2jw7wOmjTmsGzOp3k74GCSxpJyaCZjoQ1K86M7bG0tOIxZxiPBJ/ESY4IQWMiLeiAuIc4aga2NDI/gRrGwa9HEBTrRxJvSrVRl/0Xhr/Qo/uVjMAekdSaey5UV0HkgapALSa9xmAgJTEtp99AYD3tPxHSionFiSJ9K7Mx63xTa3YBF6LaDplj5TVPcuKOdLD6S0eg3dXAtQJjnQDyJzjHuIRci0ResThBmfOQMHZfKlAhGPdOlaou+eqBoiiu8pKWS0W5WQYpTCSyLNSyMFKd0rXcCHeWJVWinT8BQB+BzjoKQySd+qc8cdk08/m1AzA0NrYvauQe6XErwJHlTr/1HNBzkRdIUAVjGN1qNavTolaqshWWq66ArByvl4BMTMPxqsNCHfdSAc96p1TrZPdxmSOl4ACh6oHx5nHT42/sj+uOgAvvsL43dFyvBU2nKrSR4v9EIX9E0yhmtdULNkAn68I55mw7HkSqsFoysU5e69srGte1doPQW9lSauI7lkRn8p5t+NiVhU4s2CNj6z9gCD2jLQ6pTiJh7HSxrrihXCsaMfjerYyXvHuqCOfiuzI/wkwABfQENaKhu37AAAAAElFTkSuQmCC";
 | 
						||
            Cesium.Material.PolylineTrailLinkSource = `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.t - time), st.t));\n\
 | 
						||
                                            vec4 fragColor;\n\
 | 
						||
                                            fragColor.rgb = color.rgb / 1.0;\n\
 | 
						||
                                            fragColor = czm_gammaCorrect(fragColor);\n\
 | 
						||
                                            material.alpha = colorImage.a * color.a;\n\
 | 
						||
                                            material.diffuse = color.rgb;\n\
 | 
						||
                                            material.emission = fragColor.rgb;\n\
 | 
						||
                                            return material;\n\
 | 
						||
                                            }`;
 | 
						||
            Cesium.Material._materialCache.addMaterial(
 | 
						||
              Cesium.Material.PolylineTrailLinkType,
 | 
						||
              {
 | 
						||
                  fabric: {
 | 
						||
                      type: Cesium.Material.PolylineTrailLinkType,
 | 
						||
                      uniforms: {
 | 
						||
                          color: new Cesium.Color(1.0, 1.0, 1.0, 1),
 | 
						||
                          image: Cesium.Material.PolylineTrailLinkImage,
 | 
						||
                          time: 0
 | 
						||
                      },
 | 
						||
                      source: Cesium.Material.PolylineTrailLinkSource
 | 
						||
                  },
 | 
						||
                  translucent: function() {
 | 
						||
                      return true;
 | 
						||
                  }
 | 
						||
              }
 | 
						||
            );
 | 
						||
 | 
						||
        }
 | 
						||
    }, __webpack_module_cache__ = {};
 | 
						||
 | 
						||
    function __webpack_require__(e) {
 | 
						||
        var t = __webpack_module_cache__[e];
 | 
						||
        if (void 0 !== t) return t.exports;
 | 
						||
        var i = __webpack_module_cache__[e] = {exports: {}};
 | 
						||
        return __webpack_modules__[e](i, i.exports, __webpack_require__), i.exports
 | 
						||
    }
 | 
						||
 | 
						||
    __webpack_require__.d = (e, t) => {
 | 
						||
        for (var i in t) __webpack_require__.o(t, i) && !__webpack_require__.o(e, i) && Object.defineProperty(e, i, {
 | 
						||
            enumerable: !0,
 | 
						||
            get: t[i]
 | 
						||
        })
 | 
						||
    }, __webpack_require__.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), __webpack_require__.r = e => {
 | 
						||
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
 | 
						||
    };
 | 
						||
    var __webpack_exports__ = {};
 | 
						||
    (() => {
 | 
						||
        __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
 | 
						||
            EarlyWarning: () => EW,//四色图
 | 
						||
            BulletinBoard: () => H,//铭牌
 | 
						||
            PoiIconLabel: () => JZ,//基站
 | 
						||
            PositioningLabels: () => PL,//标签
 | 
						||
            Carmer: () => m,
 | 
						||
            Cone: () => zz.Z,
 | 
						||
            EditGltf: () => G,
 | 
						||
            Enclosure: () => U,//围栏
 | 
						||
            GroupModel: () => A,
 | 
						||
            HumanModel: () => F,
 | 
						||
            Line: () => W,//轨迹线
 | 
						||
            Route: () => RT,//绘制路径
 | 
						||
            Model: () => D,
 | 
						||
            ModelDrag: () => O,
 | 
						||
            Mouse: () => p,
 | 
						||
            Radar: () => j,//聚集
 | 
						||
            Scene: () => c,
 | 
						||
            Tiles3D: () => d//倾斜摄影
 | 
						||
        });
 | 
						||
 | 
						||
        class i {
 | 
						||
            constructor(e) {
 | 
						||
                this._definitionChanged = new Cesium.Event,
 | 
						||
                  this._color = void 0,
 | 
						||
                  this.color = e.color
 | 
						||
            }
 | 
						||
 | 
						||
            get isConstant() {
 | 
						||
                return !1
 | 
						||
            }
 | 
						||
 | 
						||
            get definitionChanged() {
 | 
						||
                return this._definitionChanged
 | 
						||
            }
 | 
						||
 | 
						||
            getType(e) {
 | 
						||
                return Cesium.Material.WallDiffuseMaterialType
 | 
						||
            }
 | 
						||
 | 
						||
            getValue(e, t) {
 | 
						||
                return Cesium.defined(t) || (t = {}),
 | 
						||
                  t.color = Cesium.Property.getValueOrDefault(this._color, e, Cesium.Color.RED, t.color),
 | 
						||
                  t
 | 
						||
            }
 | 
						||
 | 
						||
            equals(e) {
 | 
						||
                return this === e || e instanceof i && Cesium.Property.equals(this._color, e._color)
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class r {
 | 
						||
            constructor() { }
 | 
						||
 | 
						||
            static tileXYToQuadKey(e, t, i) {
 | 
						||
                for (var r = "", n = i; n >= 0; --n) {
 | 
						||
                    var s = 1 << n
 | 
						||
                      , a = 0;
 | 
						||
                    0 != (e & s) && (a |= 1),
 | 
						||
                    0 != (t & s) && (a |= 2),
 | 
						||
                      r += a
 | 
						||
                }
 | 
						||
                return "0" === r[0] && (r = r.substr(1)),
 | 
						||
                  r
 | 
						||
            }
 | 
						||
 | 
						||
            static Cartesian3ToWGS84(e, t) {
 | 
						||
                var i = e.scene.globe.ellipsoid.cartesianToCartographic(t);
 | 
						||
                return [Cesium.Math.toDegrees(i.longitude), Cesium.Math.toDegrees(i.latitude), i.height]
 | 
						||
            }
 | 
						||
 | 
						||
            static
 | 
						||
        }
 | 
						||
 | 
						||
        const n = 52.35987755982988
 | 
						||
          , s = 3.141592653589793
 | 
						||
          , a = 6378245
 | 
						||
          , o = .006693421622965943
 | 
						||
          , l = class {
 | 
						||
              static BD09ToGCJ02(e, t) {
 | 
						||
                  let i = +e - .0065
 | 
						||
                    , r = +t - .006
 | 
						||
                    , s = Math.sqrt(i * i + r * r) - 2e-5 * Math.sin(r * n)
 | 
						||
                    , a = Math.atan2(r, i) - 3e-6 * Math.cos(i * n);
 | 
						||
                  return [s * Math.cos(a), s * Math.sin(a)]
 | 
						||
              }
 | 
						||
 | 
						||
              static GCJ02ToBD09(e, t) {
 | 
						||
                  t = +t,
 | 
						||
                    e = +e;
 | 
						||
                  let i = Math.sqrt(e * e + t * t) + 2e-5 * Math.sin(t * n)
 | 
						||
                    , r = Math.atan2(t, e) + 3e-6 * Math.cos(e * n);
 | 
						||
                  return [i * Math.cos(r) + .0065, i * Math.sin(r) + .006]
 | 
						||
              }
 | 
						||
 | 
						||
              static WGS84ToGCJ02(e, t) {
 | 
						||
                  if (t = +t,
 | 
						||
                    e = +e,
 | 
						||
                    this.out_of_china(e, t))
 | 
						||
                      return [e, t];
 | 
						||
                  {
 | 
						||
                      let i = this.delta(e, t);
 | 
						||
                      return [e + i[0], t + i[1]]
 | 
						||
                  }
 | 
						||
              }
 | 
						||
 | 
						||
              static GCJ02ToWGS84(e, t) {
 | 
						||
                  if (t = +t,
 | 
						||
                    e = +e,
 | 
						||
                    this.out_of_china(e, t))
 | 
						||
                      return [e, t];
 | 
						||
                  {
 | 
						||
                      let i = this.delta(e, t);
 | 
						||
                      return [2 * e - (e + i[0]), 2 * t - (t + i[1])]
 | 
						||
                  }
 | 
						||
              }
 | 
						||
 | 
						||
              static delta(e, t) {
 | 
						||
                  let i = this.transformLng(e - 105, t - 35)
 | 
						||
                    , r = this.transformLat(e - 105, t - 35);
 | 
						||
                  const n = t / 180 * s;
 | 
						||
                  let l = Math.sin(n);
 | 
						||
                  l = 1 - o * l * l;
 | 
						||
                  const h = Math.sqrt(l);
 | 
						||
                  return i = 180 * i / (a / h * Math.cos(n) * s),
 | 
						||
                    r = 180 * r / (a * (1 - o) / (l * h) * s),
 | 
						||
                    [i, r]
 | 
						||
              }
 | 
						||
 | 
						||
              static transformLng(e, t) {
 | 
						||
                  let i = 300 + (e = +e) + 2 * (t = +t) + .1 * e * e + .1 * e * t + .1 * Math.sqrt(Math.abs(e));
 | 
						||
                  return i += 2 * (20 * Math.sin(6 * e * s) + 20 * Math.sin(2 * e * s)) / 3,
 | 
						||
                    i += 2 * (20 * Math.sin(e * s) + 40 * Math.sin(e / 3 * s)) / 3,
 | 
						||
                    i += 2 * (150 * Math.sin(e / 12 * s) + 300 * Math.sin(e / 30 * s)) / 3,
 | 
						||
                    i
 | 
						||
              }
 | 
						||
 | 
						||
              static transformLat(e, t) {
 | 
						||
                  let i = 2 * (e = +e) - 100 + 3 * (t = +t) + .2 * t * t + .1 * e * t + .2 * Math.sqrt(Math.abs(e));
 | 
						||
                  return i += 2 * (20 * Math.sin(6 * e * s) + 20 * Math.sin(2 * e * s)) / 3,
 | 
						||
                    i += 2 * (20 * Math.sin(t * s) + 40 * Math.sin(t / 3 * s)) / 3,
 | 
						||
                    i += 2 * (160 * Math.sin(t / 12 * s) + 320 * Math.sin(t * s / 30)) / 3,
 | 
						||
                    i
 | 
						||
              }
 | 
						||
 | 
						||
              static out_of_china(e, t) {
 | 
						||
                  return t = +t,
 | 
						||
                    !((e = +e) > 73.66 && e < 135.05 && t > 3.86 && t < 53.55)
 | 
						||
              }
 | 
						||
          }
 | 
						||
        ;
 | 
						||
 | 
						||
        class h extends Cesium.WebMercatorTilingScheme {
 | 
						||
            constructor() {
 | 
						||
                super();
 | 
						||
                let e = new Cesium.WebMercatorProjection;
 | 
						||
                this._projection.project = function (t, i) {
 | 
						||
                    return i = l.WGS84ToGCJ02(Cesium.Math.toDegrees(t.longitude), Cesium.Math.toDegrees(t.latitude)),
 | 
						||
                      i = e.project(new Cesium.Cartographic(Cesium.Math.toRadians(i[0]), Cesium.Math.toRadians(i[1]))),
 | 
						||
                      new Cesium.Cartesian2(i.x, i.y)
 | 
						||
                }
 | 
						||
                  ,
 | 
						||
                  this._projection.unproject = function (t, i) {
 | 
						||
                      let r = e.unproject(t);
 | 
						||
                      return i = l.GCJ02ToWGS84(Cesium.Math.toDegrees(r.longitude), Cesium.Math.toDegrees(r.latitude)),
 | 
						||
                        new Cesium.Cartographic(Cesium.Math.toRadians(i[0]), Cesium.Math.toRadians(i[1]))
 | 
						||
                  }
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        const u = h;
 | 
						||
 | 
						||
        class c {
 | 
						||
            static google_mapResources = new Cesium.UrlTemplateImageryProvider({
 | 
						||
                url: "https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",
 | 
						||
                credit: "谷歌影像服务"
 | 
						||
            });
 | 
						||
            static tiandi_mapResources = new Cesium.UrlTemplateImageryProvider({
 | 
						||
                url: "http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=d5315295aac577ea65d01ab286d2041a",
 | 
						||
                subdomains: ["0", "1", "2", "3"],
 | 
						||
                tilingScheme: new Cesium.WebMercatorTilingScheme,
 | 
						||
                customTags: {
 | 
						||
                    q: function (e, t, i, n) {
 | 
						||
                        return r.tileXYToQuadKey(t, i, n)
 | 
						||
                    }
 | 
						||
                },
 | 
						||
                minimumLevel: 3,
 | 
						||
                maximumLevel: 18
 | 
						||
            });
 | 
						||
            static gaode_mapResources = new Cesium.UrlTemplateImageryProvider({
 | 
						||
                url: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
 | 
						||
                minimumLevel: 3,
 | 
						||
                maximumLevel: 18
 | 
						||
            });
 | 
						||
 | 
						||
            constructor(e, t, i, r) {
 | 
						||
                if (this.icy = {
 | 
						||
                    viewer: void 0,
 | 
						||
                    name: t
 | 
						||
                },
 | 
						||
                1 == i) {
 | 
						||
                    let t = new Cesium.UrlTemplateImageryProvider({
 | 
						||
                        url: r,
 | 
						||
                        fileExtension: "png",
 | 
						||
                        minimumLevel: 0,
 | 
						||
                        maximumLevel: 18,
 | 
						||
                        tilingScheme: new Cesium.WebMercatorTilingScheme
 | 
						||
                    });
 | 
						||
                    this.init(e, t, 50)
 | 
						||
                }
 | 
						||
                2 == i && this.init(e, c.google_mapResources, 50),
 | 
						||
                3 == i && this.init(e, c.tiandi_mapResources, 50),
 | 
						||
                4 == i && this.init(e, c.gaode_mapResources, 50),
 | 
						||
                5 == i && this.init(e, void 0, 50)
 | 
						||
            }
 | 
						||
 | 
						||
            getIcy() {
 | 
						||
                return this.icy
 | 
						||
            }
 | 
						||
 | 
						||
            init(e, t, i = 50) {
 | 
						||
                this.icy.viewer = new Cesium.Viewer(e, {
 | 
						||
                    targetFrameRate: i,
 | 
						||
                    imageryProvider: t,
 | 
						||
                    animation: !1,
 | 
						||
                    timeline: !1,
 | 
						||
                    geocoder: !1,
 | 
						||
                    homeButton: !1,
 | 
						||
                    sceneModePicker: !1,
 | 
						||
                    baseLayerPicker: !1,
 | 
						||
                    navigationHelpButton: !1,
 | 
						||
                    fullscreenButton: !1,
 | 
						||
                    infoBox: false,
 | 
						||
                    contextOptions: {
 | 
						||
                        webgl: {
 | 
						||
                            alpha: true
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                }),
 | 
						||
                  this.icy.viewer.scene.mode,
 | 
						||
                  Cesium.SceneMode.COLUMBUS_VIEW,
 | 
						||
                  this.icy.viewer.scene.screenSpaceCameraController.enableTilt = !0,
 | 
						||
                  this.icy.viewer._cesiumWidget._creditContainer.style.display = "none",
 | 
						||
                  this.icy.viewer.scene.globe.depthTestAgainstTerrain = !0,
 | 
						||
                this.icy.viewer.scene.sampleHeightSupported || window.alert("浏览器不支持 sampleHeight."),
 | 
						||
                this.icy.viewer.scene.pickPositionSupported || window.alert("不支持深度纹理,无法绘制多边形,地形开挖功能无法使用!"),
 | 
						||
                  this.icy.viewer.scene.globe.enableLighting = !1,
 | 
						||
                  this.icy.viewer.shadows = !1,
 | 
						||
                  this.icy.viewer.scene.globe.fillHighlightColor = 1,
 | 
						||
                  this.icy.viewer.scene.postProcessStages.fxaa.enabled = !0,
 | 
						||
                  this.icy.viewer.scene.skyBox.show = false,
 | 
						||
                  this.icy.viewer.scene.globe.showGroundAtmosphere = false,
 | 
						||
                  this.icy.viewer.scene.skyAtmosphere.show = false,
 | 
						||
                  this.icy.viewer.scene.sun.show = false,
 | 
						||
                  this.icy.viewer.scene.moon.show = false,
 | 
						||
                  this.icy.viewer.scene.undergroundMode = true,
 | 
						||
                  this.fPSShow(!0),
 | 
						||
                  this.initMaterial(),
 | 
						||
                  this.icy.viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
 | 
						||
                    Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
 | 
						||
                  )
 | 
						||
                // this.icy.viewer.scene.backgroundColor = new Cesium.Color(0,0,0,0)
 | 
						||
            }
 | 
						||
 | 
						||
            fPSShow(e) {
 | 
						||
                this.icy.viewer.scene.debugShowFramesPerSecond = e
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.iewer.destroy(),
 | 
						||
                  this.icy = void 0
 | 
						||
            }
 | 
						||
 | 
						||
            initMaterial() {
 | 
						||
                Cesium.WallDiffuseMaterialProperty || (Object.defineProperties(i.prototype, {
 | 
						||
                    color: Cesium.createPropertyDescriptor("color")
 | 
						||
                }),
 | 
						||
                  Cesium.WallDiffuseMaterialProperty = i,
 | 
						||
                  Cesium.Material.WallDiffuseMaterialProperty = "WallDiffuseMaterialProperty",
 | 
						||
                  Cesium.Material.WallDiffuseMaterialType = "WallDiffuseMaterialType",
 | 
						||
                  Cesium.Material.WallDiffuseMaterialSource = "\n            uniform vec4 color;\n            czm_material czm_getMaterial(czm_materialInput materialInput){\n            czm_material material = czm_getDefaultMaterial(materialInput);\n                vec2 st = materialInput.st;\n                material.diffuse = color.rgb * 2.0;\n                material.alpha = color.a * (1.0 - fract(st.t)) * 0.8;\n                return material;\n            }                                                \n            ",
 | 
						||
                  Cesium.Material._materialCache.addMaterial(Cesium.Material.WallDiffuseMaterialType, {
 | 
						||
                      fabric: {
 | 
						||
                          type: Cesium.Material.WallDiffuseMaterialType,
 | 
						||
                          uniforms: {
 | 
						||
                              color: new Cesium.Color(1, 0, 0, 1)
 | 
						||
                          },
 | 
						||
                          source: Cesium.Material.WallDiffuseMaterialSource
 | 
						||
                      },
 | 
						||
                      translucent: function (e) {
 | 
						||
                          return !0
 | 
						||
                      }
 | 
						||
                  }))
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class m {
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e
 | 
						||
                if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) {//判断是否支持图像渲染像素化处理
 | 
						||
                    this.icy.viewer.resolutionScale = window.devicePixelRatio;
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            flyTo({ maxHeight: e, time: t, position: i, angle: r }) {
 | 
						||
                3 == i.length ? (e || (e = 10),
 | 
						||
                t && 0 != t || (t = 3),
 | 
						||
                  this.icy.viewer.camera.flyTo({
 | 
						||
                      destination: Cesium.Cartesian3.fromDegrees(i[0], i[1], i[2]),
 | 
						||
                      duration: t,
 | 
						||
                      maximumHeight: e,
 | 
						||
                      orientation: {
 | 
						||
                          heading: Cesium.Math.toRadians(r[0]),
 | 
						||
                          pitch: Cesium.Math.toRadians(r[1]),
 | 
						||
                          roll: Cesium.Math.toRadians(r[2])
 | 
						||
                      }
 | 
						||
                  })) : console.log("相机飞行请传入经纬高")
 | 
						||
            }
 | 
						||
 | 
						||
            flyToInfo({ maxHeight: e, time: t, position: i, angle: r }) {
 | 
						||
                3 == i.length ? (e || (e = 10),
 | 
						||
                t && 0 != t || (t = 3),
 | 
						||
                  this.icy.viewer.camera.flyTo({
 | 
						||
                      destination: new Cesium.Cartesian3(i[0], i[1], i[2]),
 | 
						||
                      duration: t,
 | 
						||
                      maximumHeight: e,
 | 
						||
                      orientation: {
 | 
						||
                          heading: r.heading,
 | 
						||
                          pitch: r.pitch,
 | 
						||
                          roll: r.roll
 | 
						||
                      }
 | 
						||
                  })) : console.log("相机飞行请传入经纬高")
 | 
						||
            }
 | 
						||
 | 
						||
            teleporting(e) {
 | 
						||
                if (6 != e.length)
 | 
						||
                    throw "相机跳转参数错误,请检查传入参数";
 | 
						||
                icy.viewer.camera.setView({
 | 
						||
                    destination: {
 | 
						||
                        x: e[0],
 | 
						||
                        y: e[1],
 | 
						||
                        z: e[2]
 | 
						||
                    },
 | 
						||
                    orientation: {
 | 
						||
                        heading: e[3],
 | 
						||
                        pitch: e[4],
 | 
						||
                        roll: e[5]
 | 
						||
                    }
 | 
						||
                })
 | 
						||
            }
 | 
						||
 | 
						||
            follow({ angle: e, targetPoint: t, distance: i }, r) {
 | 
						||
                let n = turf.point([t[0], t[1]])
 | 
						||
                  , s = -e[0]
 | 
						||
                  , a = turf.rhumbDestination(n, i, s, {
 | 
						||
                    units: "kilometers"
 | 
						||
                });
 | 
						||
                this.flyTo({
 | 
						||
                    maxHeight: 20,
 | 
						||
                    time: r,
 | 
						||
                    position: [a.geometry.coordinates[0], a.geometry.coordinates[1], t[2]],
 | 
						||
                    angle: e
 | 
						||
                })
 | 
						||
            }
 | 
						||
 | 
						||
            getgGsture() {
 | 
						||
                console.log("当前相机姿态输出");
 | 
						||
                let e = this.icy.viewer.camera.heading
 | 
						||
                  , t = this.icy.viewer.camera.pitch
 | 
						||
                  , i = this.icy.viewer.camera.roll
 | 
						||
                  , r = this.icy.viewer.camera.positionWC;
 | 
						||
                // console.log(`destination:{x:${r.x},y:${r.y},z:${r.z}},orientation:{heading:${e},pitch:${t},roll:${i}}`)
 | 
						||
                let data = {
 | 
						||
                    x: r.x,
 | 
						||
                    y: r.y,
 | 
						||
                    z: r.z,
 | 
						||
                    heading: e,
 | 
						||
                    pitch: t,
 | 
						||
                    roll: i
 | 
						||
                }
 | 
						||
                return [data, this.icy.viewer.camera]
 | 
						||
            }
 | 
						||
 | 
						||
            changeView(e,h) {
 | 
						||
                // let cameraHeight = 1200;
 | 
						||
                if (e == "2D") {
 | 
						||
                    let point = this.getCenterPoint(this.icy.viewer);
 | 
						||
                    // let cameraHeight = Math.round(this.icy.viewer.camera.positionCartographic.height);
 | 
						||
                    this.icy.viewer.scene.camera.flyTo({
 | 
						||
                        // 经度 纬度 高度
 | 
						||
                        destination: Cesium.Cartesian3.fromDegrees(point[0], point[1], h),
 | 
						||
                        // 朝向 仰角 倾斜
 | 
						||
                        orientation: {
 | 
						||
                            heading: this.icy.viewer.scene.camera.heading,
 | 
						||
                            pitch: Cesium.Math.toRadians(-90), // Cesium.Math.toRadians(-35.0),
 | 
						||
                            //this.icy.viewer.scene.camera.roll
 | 
						||
                            roll: 0
 | 
						||
                        }
 | 
						||
                    })
 | 
						||
                    //禁用放大缩小
 | 
						||
                    // this.icy.viewer.scene.screenSpaceCameraController.enableZoom = false;
 | 
						||
                    //禁止相机倾斜
 | 
						||
                    this.icy.viewer.scene.screenSpaceCameraController.enableTilt = false;
 | 
						||
                }
 | 
						||
                if (e == "3D") {
 | 
						||
                    // let number = 0;
 | 
						||
                    // //定时循环将number增加到2000
 | 
						||
                    // let timer = setInterval(() => {
 | 
						||
                    //     number += 5;
 | 
						||
                    //     this.icy.viewer.scene.camera.moveDown(5)
 | 
						||
                    //     if (number >= 1200) {
 | 
						||
                    //         clearInterval(timer);
 | 
						||
                    //         setTimeout(() => {
 | 
						||
                    //             this.icy.viewer.scene.camera.flyTo({
 | 
						||
                    //                 destination: this.icy.viewer.scene.camera.positionWC,
 | 
						||
                    //                 orientation: {
 | 
						||
                    //                     heading: this.icy.viewer.scene.camera.heading,
 | 
						||
                    //                     pitch: Cesium.Math.toRadians(-45), // Cesium.Math.toRadians(-35.0),
 | 
						||
                    //                     //this.icy.viewer.scene.camera.roll
 | 
						||
                    //                     roll: 0
 | 
						||
                    //                 }
 | 
						||
                    //             })
 | 
						||
                    //         }, 100);
 | 
						||
                    //     }
 | 
						||
                    // })
 | 
						||
                    //禁用放大缩小
 | 
						||
                    // this.icy.viewer.scene.screenSpaceCameraController.enableZoom = true;
 | 
						||
                    //禁止相机倾斜
 | 
						||
                    this.icy.viewer.scene.screenSpaceCameraController.enableTilt = true;
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            getCenterPoint(viewer) {
 | 
						||
                let result = viewer.camera.pickEllipsoid(
 | 
						||
                  new Cesium.Cartesian2(
 | 
						||
                    viewer.canvas.clientWidth / 2,
 | 
						||
                    viewer.canvas.clientHeight / 2,
 | 
						||
                  ),
 | 
						||
                );
 | 
						||
                //   console.log(result);
 | 
						||
                let curPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(result);
 | 
						||
                // console.log(curPosition);
 | 
						||
                const lon = (curPosition.longitude * 180) / Math.PI;
 | 
						||
                const lat = (curPosition.latitude * 180) / Math.PI;
 | 
						||
                // console.log([lon,lat]);
 | 
						||
                return [lon, lat];
 | 
						||
            }
 | 
						||
 | 
						||
            getBottomCenterPoint(viewer) {
 | 
						||
                let result = viewer.camera.pickEllipsoid(
 | 
						||
                  new Cesium.Cartesian2(
 | 
						||
                    viewer.canvas.clientWidth / 2,
 | 
						||
                    viewer.canvas.clientHeight,
 | 
						||
                  ),
 | 
						||
                );
 | 
						||
                let curPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(result);
 | 
						||
                const lon = (curPosition.longitude * 180) / Math.PI;
 | 
						||
                const lat = (curPosition.latitude * 180) / Math.PI;
 | 
						||
                return [lon, lat];
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class d {
 | 
						||
            constructor(e, t, i = 0) {
 | 
						||
                this.icy = e,this.ground_arr = [], this.buildingArr = [],
 | 
						||
                  this.tileset = e.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
 | 
						||
                      url: t,
 | 
						||
                      show: !0,
 | 
						||
                  })),
 | 
						||
                  this.tileset.readyPromise.then((e => {
 | 
						||
                        this.tileset = e, this.setHeight(i)
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  this.polygon = []
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.tileset.show = e
 | 
						||
            }
 | 
						||
            init(e) {
 | 
						||
                return new Promise((t => {
 | 
						||
                    new Cesium.Resource.fetchJson({url: e}).then((e => {
 | 
						||
                        let i = [];
 | 
						||
                        i = e.scenes, i[0].children.forEach(((e, t) => {
 | 
						||
                            e.children && this.buildingArr.push(e)
 | 
						||
                        })), this.buildingArr.forEach(((e, t) => {
 | 
						||
                            i[0].children.forEach(((i, r) => {
 | 
						||
                                "ground_000001" == i.name && e.name.split("F")[0] > 0 && (this.buildingArr[t].children.push(i), this.ground_arr = i)
 | 
						||
                            }))
 | 
						||
                        })), this.buildingArr.sort(((e, t) => parseInt(e.name.replace("F", "")) - parseInt(t.name.replace("F", ""))));
 | 
						||
                        let r = [];
 | 
						||
                        this.buildingArr.forEach(((e, t) => {
 | 
						||
                            r.push({floor: e.name, index: t})
 | 
						||
                        })), t({scenesArr: i, buildingArr: r})
 | 
						||
                    }))
 | 
						||
                }))
 | 
						||
            }
 | 
						||
            showTilesFloor(e) {
 | 
						||
                let t = {name: null, children: null};
 | 
						||
                "all" != e && (t = this.buildingArr[e]), console.log(this.buildingArr[e]), t.name && (t.name.split("F")[0] < 0 ? this.icy.viewer.scene.globe.depthTestAgainstTerrain = !1 : this.icy.viewer.scene.globe.depthTestAgainstTerrain = !0);
 | 
						||
                const i = [];
 | 
						||
                t.children && t.children.forEach((e => {
 | 
						||
                    const t = ["${name} === '" + e.name + "'", "rgba(255,255,255,1)"];
 | 
						||
                    i.push(t)
 | 
						||
                })), "all" == e ? (this.icy.viewer.scene.globe.depthTestAgainstTerrain = !0, i.push(["true", "rgba(255,255,255,1)"])) : i.push(["true", "rgba(255,255,255,0.08)"]), this.tileset.style = new Cesium.Cesium3DTileStyle({color: {conditions: i}})
 | 
						||
            }
 | 
						||
            clipTileset(e) {
 | 
						||
                this.tileset._clippingPlanes = null, this.polygon = e;
 | 
						||
                const t = this.tileset.root.transform,
 | 
						||
                    i = Cesium.Matrix4.inverseTransformation(t, new Cesium.Matrix4),
 | 
						||
                    r = new Cesium.ClippingPlaneCollection({planes:
 | 
						||
                            [new Cesium.ClippingPlane(new Cesium.Cartesian3(0, 0, -1), 1.03)]
 | 
						||
                    });
 | 
						||
                for (let t = 0; t < e.length - 1; t++) {
 | 
						||
                    const n = this.createClippingPlane(e[t], e[t + 1], i);
 | 
						||
                    r.add(n)
 | 
						||
                }
 | 
						||
                this.tileset.clippingPlanes = r
 | 
						||
            }
 | 
						||
            createClippingPlane(e, t, i) {
 | 
						||
                const r = this.getOriginCoordinateSystemPoint(e, i), n = this.getOriginCoordinateSystemPoint(t, i),
 | 
						||
                    s = new Cesium.Cartesian3(0, 0, -1), a = new Cesium.Cartesian3;
 | 
						||
                Cesium.Cartesian3.subtract(n, r, a);
 | 
						||
                const o = new Cesium.Cartesian3;
 | 
						||
                Cesium.Cartesian3.cross(s, a, o), Cesium.Cartesian3.normalize(o, o);
 | 
						||
                const l = -Cesium.Cartesian3.dot(o, r);
 | 
						||
                return new Cesium.ClippingPlane(o, l)
 | 
						||
            }
 | 
						||
            getOriginCoordinateSystemPoint(e, t) {
 | 
						||
                const i = Cesium.Cartesian3.fromDegrees(e[0], e[1]);
 | 
						||
                return Cesium.Matrix4.multiplyByPoint(t, i, new Cesium.Cartesian3)
 | 
						||
            }
 | 
						||
            setHeight(e = 0) {
 | 
						||
                const t = this.tileset.boundingSphere
 | 
						||
                  , i = Cesium.Cartographic.fromCartesian(t.center)
 | 
						||
                  , r = Cesium.Cartesian3.fromRadians(i.longitude, i.latitude, 0)
 | 
						||
                  , n = Cesium.Cartesian3.fromRadians(i.longitude, i.latitude, e)
 | 
						||
                  , s = Cesium.Cartesian3.subtract(n, r, new Cesium.Cartesian3);
 | 
						||
                this.tileset.modelMatrix = Cesium.Matrix4.fromTranslation(s)
 | 
						||
            }
 | 
						||
 | 
						||
            look() {
 | 
						||
                this.icy.viewer.zoomTo(this.tileset)
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.tileset.destroy(), this.tileset = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class p {
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.billboard = void 0
 | 
						||
            }
 | 
						||
 | 
						||
            mouseMOVE(e) {
 | 
						||
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
 | 
						||
                      if (!this.icy.viewer.scene.pick(t.endPosition))
 | 
						||
                          return this.billboard && (this.icy.viewer.canvas.style.cursor = "default",
 | 
						||
                            this.billboard.scale = void 0,
 | 
						||
                            this.billboard = void 0),
 | 
						||
                            void e(!1)
 | 
						||
                  }
 | 
						||
                ), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
 | 
						||
            }
 | 
						||
 | 
						||
            mouseLeft(e) {
 | 
						||
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
 | 
						||
                      let i = this.icy.viewer.camera.getPickRay(t.position)
 | 
						||
                        , r = this.icy.viewer.scene.globe.pick(i, this.icy.viewer.scene)
 | 
						||
                        , n = Cesium.Cartographic.fromCartesian(r)
 | 
						||
                        , s = Cesium.Math.toDegrees(n.longitude)
 | 
						||
                        , a = Cesium.Math.toDegrees(n.latitude)
 | 
						||
                        , o = n.height
 | 
						||
                        , l = {
 | 
						||
                          longitude: Number(s.toFixed(8)),
 | 
						||
                          latitude: Number(a.toFixed(8)),
 | 
						||
                          altitude: Number(o.toFixed(5))
 | 
						||
                      };
 | 
						||
                      console.log("鼠标获取经纬高", s, a, o, l);
 | 
						||
                        //方向   围绕Z轴旋转
 | 
						||
                        let  heading = Cesium.Math.toDegrees(this.icy.viewer.camera.heading).toFixed(2);
 | 
						||
                        //倾斜角度   围绕Y轴旋转
 | 
						||
                        let  pitch = Cesium.Math.toDegrees(this.icy.viewer.camera.pitch).toFixed(2);
 | 
						||
                        //围绕X轴旋转
 | 
						||
                        let   roll = Cesium.Math.toDegrees(this.icy.viewer.camera.roll).toFixed(2);
 | 
						||
                        console.log(heading+','+pitch+','+roll);
 | 
						||
                      let h = this.icy.viewer.scene.pick(t.position);
 | 
						||
                      // console.log(h);
 | 
						||
                      if (!h)
 | 
						||
                          return console.log("pick为空"),
 | 
						||
                            this.icy.viewer.scene.globe.translucency.enabled = !0,
 | 
						||
                            void (this.icy.viewer.scene.globe.translucency.frontFaceAlpha = 1);
 | 
						||
                      e(h.id);
 | 
						||
                  }
 | 
						||
                ), Cesium.ScreenSpaceEventType.LEFT_CLICK)
 | 
						||
            }
 | 
						||
 | 
						||
            mouseRight(e) {
 | 
						||
                let t = new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas), i = this;
 | 
						||
                t.setInputAction((t => {
 | 
						||
                    let r = (n = i.icy.viewer.scene.pickPosition(t.position), s = new Cesium.Cartesian3(n.x, n.y, n.z), a = Cesium.Cartographic.fromCartesian(s), o = Cesium.Math.toDegrees(a.latitude), {
 | 
						||
                        lng: Cesium.Math.toDegrees(a.longitude),
 | 
						||
                        lat: o,
 | 
						||
                        alt: a.height
 | 
						||
                    });
 | 
						||
                    var n, s, a, o;
 | 
						||
                    console.log("---鼠标获取经纬高----", Cesium.Math.toDegrees(a.longitude), o, a.height);
 | 
						||
 | 
						||
                    e(r);
 | 
						||
                }), Cesium.ScreenSpaceEventType.RIGHT_CLICK)
 | 
						||
            }
 | 
						||
 | 
						||
            mouseLeftDouble(e) {
 | 
						||
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
 | 
						||
                      let i = this.icy.viewer.camera.getPickRay(t.position)
 | 
						||
                        , r = this.icy.viewer.scene.globe.pick(i, this.icy.viewer.scene)
 | 
						||
                        , n = Cesium.Cartographic.fromCartesian(r)
 | 
						||
                        , s = Cesium.Math.toDegrees(n.longitude)
 | 
						||
                        , a = Cesium.Math.toDegrees(n.latitude)
 | 
						||
                        , o = n.height;
 | 
						||
                      e(s, a, o)
 | 
						||
                  }
 | 
						||
                ), Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        var C, g = Object.freeze({
 | 
						||
            Linear: Object.freeze({
 | 
						||
                None: function (e) {
 | 
						||
                    return e
 | 
						||
                },
 | 
						||
                In: function (e) {
 | 
						||
                    return this.None(e)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return this.None(e)
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return this.None(e)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Quadratic: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return e * e
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return e * (2 - e)
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return (e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Cubic: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return e * e * e
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return --e * e * e + 1
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return (e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Quartic: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return e * e * e * e
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return 1 - --e * e * e * e
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return (e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Quintic: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return e * e * e * e * e
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return --e * e * e * e * e + 1
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return (e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Sinusoidal: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return 1 - Math.sin((1 - e) * Math.PI / 2)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return Math.sin(e * Math.PI / 2)
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return .5 * (1 - Math.sin(Math.PI * (.5 - e)))
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Exponential: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return 0 === e ? 0 : Math.pow(1024, e - 1)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (2 - Math.pow(2, -10 * (e - 1)))
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Circular: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return 1 - Math.sqrt(1 - e * e)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return Math.sqrt(1 - --e * e)
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return (e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Elastic: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return 0 === e ? 0 : 1 === e ? 1 : -Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return 0 === e ? 0 : 1 === e ? 1 : Math.pow(2, -10 * e) * Math.sin(5 * (e - .1) * Math.PI) + 1
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? -.5 * Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) : .5 * Math.pow(2, -10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) + 1
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Back: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    var t = 1.70158;
 | 
						||
                    return 1 === e ? 1 : e * e * ((t + 1) * e - t)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    var t = 1.70158;
 | 
						||
                    return 0 === e ? 0 : --e * e * ((t + 1) * e + t) + 1
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    var t = 2.5949095;
 | 
						||
                    return (e *= 2) < 1 ? e * e * ((t + 1) * e - t) * .5 : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            Bounce: Object.freeze({
 | 
						||
                In: function (e) {
 | 
						||
                    return 1 - g.Bounce.Out(1 - e)
 | 
						||
                },
 | 
						||
                Out: function (e) {
 | 
						||
                    return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
 | 
						||
                },
 | 
						||
                InOut: function (e) {
 | 
						||
                    return e < .5 ? .5 * g.Bounce.In(2 * e) : .5 * g.Bounce.Out(2 * e - 1) + .5
 | 
						||
                }
 | 
						||
            }),
 | 
						||
            generatePow: function (e) {
 | 
						||
                return void 0 === e && (e = 4),
 | 
						||
                  e = (e = e < Number.EPSILON ? Number.EPSILON : e) > 1e4 ? 1e4 : e,
 | 
						||
                  {
 | 
						||
                      In: function (t) {
 | 
						||
                          return Math.pow(t, e)
 | 
						||
                      },
 | 
						||
                      Out: function (t) {
 | 
						||
                          return 1 - Math.pow(1 - t, e)
 | 
						||
                      },
 | 
						||
                      InOut: function (t) {
 | 
						||
                          return t < .5 ? Math.pow(2 * t, e) / 2 : (1 - Math.pow(2 - 2 * t, e)) / 2 + .5
 | 
						||
                      }
 | 
						||
                  }
 | 
						||
            }
 | 
						||
        }), _ = "undefined" == typeof self && "undefined" != typeof process && process.hrtime ? function () {
 | 
						||
              var e = process.hrtime();
 | 
						||
              return 1e3 * e[0] + e[1] / 1e6
 | 
						||
          }
 | 
						||
          : "undefined" != typeof self && void 0 !== self.performance && void 0 !== self.performance.now ? self.performance.now.bind(self.performance) : void 0 !== Date.now ? Date.now : function () {
 | 
						||
              return (new Date).getTime()
 | 
						||
          }
 | 
						||
          , f = function () {
 | 
						||
            function e() {
 | 
						||
                this._tweens = {},
 | 
						||
                  this._tweensAddedDuringUpdate = {}
 | 
						||
            }
 | 
						||
 | 
						||
            return e.prototype.getAll = function () {
 | 
						||
                var e = this;
 | 
						||
                return Object.keys(this._tweens).map((function (t) {
 | 
						||
                      return e._tweens[t]
 | 
						||
                  }
 | 
						||
                ))
 | 
						||
            }
 | 
						||
              ,
 | 
						||
              e.prototype.removeAll = function () {
 | 
						||
                  this._tweens = {}
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.add = function (e) {
 | 
						||
                  this._tweens[e.getId()] = e,
 | 
						||
                    this._tweensAddedDuringUpdate[e.getId()] = e
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.remove = function (e) {
 | 
						||
                  delete this._tweens[e.getId()],
 | 
						||
                    delete this._tweensAddedDuringUpdate[e.getId()]
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.update = function (e, t) {
 | 
						||
                  void 0 === e && (e = _()),
 | 
						||
                  void 0 === t && (t = !1);
 | 
						||
                  var i = Object.keys(this._tweens);
 | 
						||
                  if (0 === i.length)
 | 
						||
                      return !1;
 | 
						||
                  for (; i.length > 0;) {
 | 
						||
                      this._tweensAddedDuringUpdate = {};
 | 
						||
                      for (var r = 0; r < i.length; r++) {
 | 
						||
                          var n = this._tweens[i[r]]
 | 
						||
                            , s = !t;
 | 
						||
                          n && !1 === n.update(e, s) && !t && delete this._tweens[i[r]]
 | 
						||
                      }
 | 
						||
                      i = Object.keys(this._tweensAddedDuringUpdate)
 | 
						||
                  }
 | 
						||
                  return !0
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e
 | 
						||
        }(), y = {
 | 
						||
            Linear: function (e, t) {
 | 
						||
                var i = e.length - 1
 | 
						||
                  , r = i * t
 | 
						||
                  , n = Math.floor(r)
 | 
						||
                  , s = y.Utils.Linear;
 | 
						||
                return t < 0 ? s(e[0], e[1], r) : t > 1 ? s(e[i], e[i - 1], i - r) : s(e[n], e[n + 1 > i ? i : n + 1], r - n)
 | 
						||
            },
 | 
						||
            Bezier: function (e, t) {
 | 
						||
                for (var i = 0, r = e.length - 1, n = Math.pow, s = y.Utils.Bernstein, a = 0; a <= r; a++)
 | 
						||
                    i += n(1 - t, r - a) * n(t, a) * e[a] * s(r, a);
 | 
						||
                return i
 | 
						||
            },
 | 
						||
            CatmullRom: function (e, t) {
 | 
						||
                var i = e.length - 1
 | 
						||
                  , r = i * t
 | 
						||
                  , n = Math.floor(r)
 | 
						||
                  , s = y.Utils.CatmullRom;
 | 
						||
                return e[0] === e[i] ? (t < 0 && (n = Math.floor(r = i * (1 + t))),
 | 
						||
                  s(e[(n - 1 + i) % i], e[n], e[(n + 1) % i], e[(n + 2) % i], r - n)) : t < 0 ? e[0] - (s(e[0], e[0], e[1], e[1], -r) - e[0]) : t > 1 ? e[i] - (s(e[i], e[i], e[i - 1], e[i - 1], r - i) - e[i]) : s(e[n ? n - 1 : 0], e[n], e[i < n + 1 ? i : n + 1], e[i < n + 2 ? i : n + 2], r - n)
 | 
						||
            },
 | 
						||
            Utils: {
 | 
						||
                Linear: function (e, t, i) {
 | 
						||
                    return (t - e) * i + e
 | 
						||
                },
 | 
						||
                Bernstein: function (e, t) {
 | 
						||
                    var i = y.Utils.Factorial;
 | 
						||
                    return i(e) / i(t) / i(e - t)
 | 
						||
                },
 | 
						||
                Factorial: (C = [1],
 | 
						||
                    function (e) {
 | 
						||
                        var t = 1;
 | 
						||
                        if (C[e])
 | 
						||
                            return C[e];
 | 
						||
                        for (var i = e; i > 1; i--)
 | 
						||
                            t *= i;
 | 
						||
                        return C[e] = t,
 | 
						||
                          t
 | 
						||
                    }
 | 
						||
                ),
 | 
						||
                CatmullRom: function (e, t, i, r, n) {
 | 
						||
                    var s = .5 * (i - e)
 | 
						||
                      , a = .5 * (r - t)
 | 
						||
                      , o = n * n;
 | 
						||
                    return (2 * t - 2 * i + s + a) * (n * o) + (-3 * t + 3 * i - 2 * s - a) * o + s * n + t
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }, v = function () {
 | 
						||
            function e() { }
 | 
						||
 | 
						||
            return e.nextId = function () {
 | 
						||
                return e._nextId++
 | 
						||
            }
 | 
						||
              ,
 | 
						||
              e._nextId = 0,
 | 
						||
              e
 | 
						||
        }(), w = new f, M = function () {
 | 
						||
            function e(e, t) {
 | 
						||
                void 0 === t && (t = w),
 | 
						||
                  this._object = e,
 | 
						||
                  this._group = t,
 | 
						||
                  this._isPaused = !1,
 | 
						||
                  this._pauseStart = 0,
 | 
						||
                  this._valuesStart = {},
 | 
						||
                  this._valuesEnd = {},
 | 
						||
                  this._valuesStartRepeat = {},
 | 
						||
                  this._duration = 1e3,
 | 
						||
                  this._initialRepeat = 0,
 | 
						||
                  this._repeat = 0,
 | 
						||
                  this._yoyo = !1,
 | 
						||
                  this._isPlaying = !1,
 | 
						||
                  this._reversed = !1,
 | 
						||
                  this._delayTime = 0,
 | 
						||
                  this._startTime = 0,
 | 
						||
                  this._easingFunction = g.Linear.None,
 | 
						||
                  this._interpolationFunction = y.Linear,
 | 
						||
                  this._chainedTweens = [],
 | 
						||
                  this._onStartCallbackFired = !1,
 | 
						||
                  this._onEveryStartCallbackFired = !1,
 | 
						||
                  this._id = v.nextId(),
 | 
						||
                  this._isChainStopped = !1,
 | 
						||
                  this._goToEnd = !1
 | 
						||
            }
 | 
						||
 | 
						||
            return e.prototype.getId = function () {
 | 
						||
                return this._id
 | 
						||
            }
 | 
						||
              ,
 | 
						||
              e.prototype.isPlaying = function () {
 | 
						||
                  return this._isPlaying
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.isPaused = function () {
 | 
						||
                  return this._isPaused
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.to = function (e, t) {
 | 
						||
                  return this._valuesEnd = Object.create(e),
 | 
						||
                  void 0 !== t && (this._duration = t),
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.duration = function (e) {
 | 
						||
                  return void 0 === e && (e = 1e3),
 | 
						||
                    this._duration = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.start = function (e, t) {
 | 
						||
                  if (void 0 === e && (e = _()),
 | 
						||
                  void 0 === t && (t = !1),
 | 
						||
                    this._isPlaying)
 | 
						||
                      return this;
 | 
						||
                  if (this._group && this._group.add(this),
 | 
						||
                    this._repeat = this._initialRepeat,
 | 
						||
                    this._reversed)
 | 
						||
                      for (var i in this._reversed = !1,
 | 
						||
                        this._valuesStartRepeat)
 | 
						||
                          this._swapEndStartRepeatValues(i),
 | 
						||
                            this._valuesStart[i] = this._valuesStartRepeat[i];
 | 
						||
                  return this._isPlaying = !0,
 | 
						||
                    this._isPaused = !1,
 | 
						||
                    this._onStartCallbackFired = !1,
 | 
						||
                    this._onEveryStartCallbackFired = !1,
 | 
						||
                    this._isChainStopped = !1,
 | 
						||
                    this._startTime = e,
 | 
						||
                    this._startTime += this._delayTime,
 | 
						||
                    this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t),
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.startFromCurrentValues = function (e) {
 | 
						||
                  return this.start(e, !0)
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype._setupProperties = function (e, t, i, r, n) {
 | 
						||
                  for (var s in i) {
 | 
						||
                      var a = e[s]
 | 
						||
                        , o = Array.isArray(a)
 | 
						||
                        , l = o ? "array" : typeof a
 | 
						||
                        , h = !o && Array.isArray(i[s]);
 | 
						||
                      if ("undefined" !== l && "function" !== l) {
 | 
						||
                          if (h) {
 | 
						||
                              var u = i[s];
 | 
						||
                              if (0 === u.length)
 | 
						||
                                  continue;
 | 
						||
                              u = u.map(this._handleRelativeValue.bind(this, a)),
 | 
						||
                              void 0 === t[s] && (i[s] = [a].concat(u))
 | 
						||
                          }
 | 
						||
                          if ("object" !== l && !o || !a || h)
 | 
						||
                              (void 0 === t[s] || n) && (t[s] = a),
 | 
						||
                              o || (t[s] *= 1),
 | 
						||
                                r[s] = h ? i[s].slice().reverse() : t[s] || 0;
 | 
						||
                          else {
 | 
						||
                              for (var c in t[s] = o ? [] : {},
 | 
						||
                                a)
 | 
						||
                                  t[s][c] = a[c];
 | 
						||
                              r[s] = o ? [] : {},
 | 
						||
                                this._setupProperties(a, t[s], i[s], r[s], n)
 | 
						||
                          }
 | 
						||
                      }
 | 
						||
                  }
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.stop = function () {
 | 
						||
                  return this._isChainStopped || (this._isChainStopped = !0,
 | 
						||
                    this.stopChainedTweens()),
 | 
						||
                    this._isPlaying ? (this._group && this._group.remove(this),
 | 
						||
                      this._isPlaying = !1,
 | 
						||
                      this._isPaused = !1,
 | 
						||
                    this._onStopCallback && this._onStopCallback(this._object),
 | 
						||
                      this) : this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.end = function () {
 | 
						||
                  return this._goToEnd = !0,
 | 
						||
                    this.update(1 / 0),
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.pause = function (e) {
 | 
						||
                  return void 0 === e && (e = _()),
 | 
						||
                  this._isPaused || !this._isPlaying || (this._isPaused = !0,
 | 
						||
                    this._pauseStart = e,
 | 
						||
                  this._group && this._group.remove(this)),
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.resume = function (e) {
 | 
						||
                  return void 0 === e && (e = _()),
 | 
						||
                    this._isPaused && this._isPlaying ? (this._isPaused = !1,
 | 
						||
                      this._startTime += e - this._pauseStart,
 | 
						||
                      this._pauseStart = 0,
 | 
						||
                    this._group && this._group.add(this),
 | 
						||
                      this) : this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.stopChainedTweens = function () {
 | 
						||
                  for (var e = 0, t = this._chainedTweens.length; e < t; e++)
 | 
						||
                      this._chainedTweens[e].stop();
 | 
						||
                  return this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.group = function (e) {
 | 
						||
                  return void 0 === e && (e = w),
 | 
						||
                    this._group = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.delay = function (e) {
 | 
						||
                  return void 0 === e && (e = 0),
 | 
						||
                    this._delayTime = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.repeat = function (e) {
 | 
						||
                  return void 0 === e && (e = 0),
 | 
						||
                    this._initialRepeat = e,
 | 
						||
                    this._repeat = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.repeatDelay = function (e) {
 | 
						||
                  return this._repeatDelayTime = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.yoyo = function (e) {
 | 
						||
                  return void 0 === e && (e = !1),
 | 
						||
                    this._yoyo = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.easing = function (e) {
 | 
						||
                  return void 0 === e && (e = g.Linear.None),
 | 
						||
                    this._easingFunction = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.interpolation = function (e) {
 | 
						||
                  return void 0 === e && (e = y.Linear),
 | 
						||
                    this._interpolationFunction = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.chain = function () {
 | 
						||
                  for (var e = [], t = 0; t < arguments.length; t++)
 | 
						||
                      e[t] = arguments[t];
 | 
						||
                  return this._chainedTweens = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onStart = function (e) {
 | 
						||
                  return this._onStartCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onEveryStart = function (e) {
 | 
						||
                  return this._onEveryStartCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onUpdate = function (e) {
 | 
						||
                  return this._onUpdateCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onRepeat = function (e) {
 | 
						||
                  return this._onRepeatCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onComplete = function (e) {
 | 
						||
                  return this._onCompleteCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.onStop = function (e) {
 | 
						||
                  return this._onStopCallback = e,
 | 
						||
                    this
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype.update = function (e, t) {
 | 
						||
                  if (void 0 === e && (e = _()),
 | 
						||
                  void 0 === t && (t = !0),
 | 
						||
                    this._isPaused)
 | 
						||
                      return !0;
 | 
						||
                  var i, r, n = this._startTime + this._duration;
 | 
						||
                  if (!this._goToEnd && !this._isPlaying) {
 | 
						||
                      if (e > n)
 | 
						||
                          return !1;
 | 
						||
                      t && this.start(e, !0)
 | 
						||
                  }
 | 
						||
                  if (this._goToEnd = !1,
 | 
						||
                  e < this._startTime)
 | 
						||
                      return !0;
 | 
						||
                  !1 === this._onStartCallbackFired && (this._onStartCallback && this._onStartCallback(this._object),
 | 
						||
                    this._onStartCallbackFired = !0),
 | 
						||
                  !1 === this._onEveryStartCallbackFired && (this._onEveryStartCallback && this._onEveryStartCallback(this._object),
 | 
						||
                    this._onEveryStartCallbackFired = !0),
 | 
						||
                    r = (e - this._startTime) / this._duration,
 | 
						||
                    r = 0 === this._duration || r > 1 ? 1 : r;
 | 
						||
                  var s = this._easingFunction(r);
 | 
						||
                  if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, s),
 | 
						||
                  this._onUpdateCallback && this._onUpdateCallback(this._object, r),
 | 
						||
                  1 === r) {
 | 
						||
                      if (this._repeat > 0) {
 | 
						||
                          for (i in isFinite(this._repeat) && this._repeat--,
 | 
						||
                            this._valuesStartRepeat)
 | 
						||
                              this._yoyo || "string" != typeof this._valuesEnd[i] || (this._valuesStartRepeat[i] = this._valuesStartRepeat[i] + parseFloat(this._valuesEnd[i])),
 | 
						||
                              this._yoyo && this._swapEndStartRepeatValues(i),
 | 
						||
                                this._valuesStart[i] = this._valuesStartRepeat[i];
 | 
						||
                          return this._yoyo && (this._reversed = !this._reversed),
 | 
						||
                            void 0 !== this._repeatDelayTime ? this._startTime = e + this._repeatDelayTime : this._startTime = e + this._delayTime,
 | 
						||
                          this._onRepeatCallback && this._onRepeatCallback(this._object),
 | 
						||
                            this._onEveryStartCallbackFired = !1,
 | 
						||
                            !0
 | 
						||
                      }
 | 
						||
                      this._onCompleteCallback && this._onCompleteCallback(this._object);
 | 
						||
                      for (var a = 0, o = this._chainedTweens.length; a < o; a++)
 | 
						||
                          this._chainedTweens[a].start(this._startTime + this._duration, !1);
 | 
						||
                      return this._isPlaying = !1,
 | 
						||
                        !1
 | 
						||
                  }
 | 
						||
                  return !0
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype._updateProperties = function (e, t, i, r) {
 | 
						||
                  for (var n in i)
 | 
						||
                      if (void 0 !== t[n]) {
 | 
						||
                          var s = t[n] || 0
 | 
						||
                            , a = i[n]
 | 
						||
                            , o = Array.isArray(e[n])
 | 
						||
                            , l = Array.isArray(a);
 | 
						||
                          !o && l ? e[n] = this._interpolationFunction(a, r) : "object" == typeof a && a ? this._updateProperties(e[n], s, a, r) : "number" == typeof (a = this._handleRelativeValue(s, a)) && (e[n] = s + (a - s) * r)
 | 
						||
                      }
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype._handleRelativeValue = function (e, t) {
 | 
						||
                  return "string" != typeof t ? t : "+" === t.charAt(0) || "-" === t.charAt(0) ? e + parseFloat(t) : parseFloat(t)
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e.prototype._swapEndStartRepeatValues = function (e) {
 | 
						||
                  var t = this._valuesStartRepeat[e]
 | 
						||
                    , i = this._valuesEnd[e];
 | 
						||
                  this._valuesStartRepeat[e] = "string" == typeof i ? this._valuesStartRepeat[e] + parseFloat(i) : this._valuesEnd[e],
 | 
						||
                    this._valuesEnd[e] = t
 | 
						||
              }
 | 
						||
              ,
 | 
						||
              e
 | 
						||
        }(), S = v.nextId, T = w, x = T.getAll.bind(T), P = T.removeAll.bind(T), b = T.add.bind(T), E = T.remove.bind(T), R = T.update.bind(T);
 | 
						||
        const I = {
 | 
						||
            Easing: g,
 | 
						||
            Group: f,
 | 
						||
            Interpolation: y,
 | 
						||
            now: _,
 | 
						||
            Sequence: v,
 | 
						||
            nextId: S,
 | 
						||
            Tween: M,
 | 
						||
            VERSION: "19.0.0",
 | 
						||
            getAll: x,
 | 
						||
            removeAll: P,
 | 
						||
            add: b,
 | 
						||
            remove: E,
 | 
						||
            update: R
 | 
						||
        };
 | 
						||
 | 
						||
        class D {
 | 
						||
            static FileUrl = "../public/models/glb/";
 | 
						||
 | 
						||
            static nameShow(e, t) {
 | 
						||
                e.map((e => {
 | 
						||
                      e.show(t)
 | 
						||
                  }
 | 
						||
                ))
 | 
						||
            }
 | 
						||
 | 
						||
            static {
 | 
						||
                function e() {
 | 
						||
                    I.update(), requestAnimationFrame(e)
 | 
						||
                }
 | 
						||
 | 
						||
                e()
 | 
						||
            }
 | 
						||
 | 
						||
            constructor(e, { url: t, height: i, lon: r, lat: n, id: s, name: a, scale: o, angle: l, peoName: k,gltf: gltf, floor: f, isCar: q }, h) {
 | 
						||
                if (this.icy = e,
 | 
						||
                !t && !h)
 | 
						||
                    return console.error("传参有问题");
 | 
						||
                o = o || 1,
 | 
						||
                  i = i || 0,
 | 
						||
                  r = r || 116.28678152222574,
 | 
						||
                  n = n || 40.05185885026265;
 | 
						||
                let u = Cesium.Cartesian3.fromDegrees(r, n, i)
 | 
						||
                  , c = Cesium.Math.toRadians(l[0])
 | 
						||
                  , m = Cesium.Math.toRadians(l[1])
 | 
						||
                  , d = Cesium.Math.toRadians(l[2])
 | 
						||
                  , p = new Cesium.HeadingPitchRoll(c, m, d)
 | 
						||
                  , C = Cesium.Transforms.headingPitchRollQuaternion(u, p);
 | 
						||
                this.entity = t ? e.viewer.entities.add({
 | 
						||
                    id: s,
 | 
						||
                    name: a,
 | 
						||
                    position: u,
 | 
						||
                    orientation: C,
 | 
						||
                    model: {
 | 
						||
                        uri: t,
 | 
						||
                        scale: o,
 | 
						||
                        color: new Cesium.Color(1, 1, 1, 1)
 | 
						||
                    },
 | 
						||
                    runAnimations: !1,
 | 
						||
                    incrementallyLoadTextures: !1,
 | 
						||
                    colorBlendMode: Cesium.ColorBlendMode.MIX,
 | 
						||
                    colorBlendAmount: .1,
 | 
						||
                    _icy: {
 | 
						||
                        lon: r,
 | 
						||
                        lat: n,
 | 
						||
                        height: i
 | 
						||
                    }
 | 
						||
                }) : e.viewer.entities.add({
 | 
						||
                    id: s,
 | 
						||
                    name: a,
 | 
						||
                    position: u,
 | 
						||
                    orientation: C,
 | 
						||
                    model: h,
 | 
						||
                    runAnimations: !1,
 | 
						||
                    incrementallyLoadTextures: !1,
 | 
						||
                    colorBlendMode: Cesium.ColorBlendMode.MIX,
 | 
						||
                    colorBlendAmount: .1,
 | 
						||
                    _icy: {
 | 
						||
                        lon: r,
 | 
						||
                        lat: n,
 | 
						||
                        height: i
 | 
						||
                    }
 | 
						||
                })
 | 
						||
                this.entity.peoName = k
 | 
						||
                this.entity.floor = f
 | 
						||
                this.entity.isCar = q
 | 
						||
                this.entity.gltf = gltf
 | 
						||
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            move({ lon: e, lat: t, height: i, angle: r }) {
 | 
						||
                let n = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                  , s = Cesium.Math.toRadians(r[0])
 | 
						||
                  , a = Cesium.Math.toRadians(r[1])
 | 
						||
                  , o = Cesium.Math.toRadians(r[2])
 | 
						||
                  , l = new Cesium.HeadingPitchRoll(s, a, o)
 | 
						||
                  , h = Cesium.Transforms.headingPitchRollQuaternion(n, l);
 | 
						||
                this.entity.position = n,
 | 
						||
                  this.entity.orientation = h
 | 
						||
            }
 | 
						||
 | 
						||
            updateAngle(e) {
 | 
						||
                let t = new Cesium.Cartesian3(this.entity.position._value.x, this.entity.position._value.y, this.entity.position._value.z)
 | 
						||
                  , i = Cesium.Math.toRadians(e[0])
 | 
						||
                  , r = e[1]
 | 
						||
                  , n = e[2]
 | 
						||
                  , s = new Cesium.HeadingPitchRoll(i, r, n)
 | 
						||
                  , a = Cesium.Transforms.headingPitchRollQuaternion(t, s);
 | 
						||
                this.entity.orientation = a
 | 
						||
            }
 | 
						||
 | 
						||
            animationMove(e, t, i, n, s) {
 | 
						||
                if (!this.entity || !this.entity.position)
 | 
						||
                    throw "还没有对象呢!!";
 | 
						||
                let a = this.entity.position
 | 
						||
                  , o = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                  , l = new I.Tween({
 | 
						||
                    x: a._value.x,
 | 
						||
                    y: a._value.y,
 | 
						||
                    z: a._value.z
 | 
						||
                });
 | 
						||
                l.to({
 | 
						||
                    x: o.x,
 | 
						||
                    y: o.y,
 | 
						||
                    z: o.z
 | 
						||
                }, n),
 | 
						||
                  l.onUpdate((({ x: e, y: t, z: i }) => {
 | 
						||
                        let n = new Cesium.Cartesian3(e, t, i);
 | 
						||
                        if (!this.entity || !this.entity.position) {
 | 
						||
                            //console.log('触发移动,但未找到实体');
 | 
						||
                            return
 | 
						||
                        } else {
 | 
						||
                            if (this.entity.position == null || !this.entity.position) {
 | 
						||
                                //console.log('触发移动,但未找到实体');
 | 
						||
                                return
 | 
						||
                            }
 | 
						||
                            this.entity.position = n;
 | 
						||
                            let a = r.Cartesian3ToWGS84(this.icy.viewer, n);
 | 
						||
                            s(a)
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  l.start()
 | 
						||
            }
 | 
						||
 | 
						||
            lineColor(e) {
 | 
						||
                this.entity.model.silhouetteSize = e ? 2 : 0
 | 
						||
            }
 | 
						||
 | 
						||
            getEntity() {
 | 
						||
                return this.entity
 | 
						||
            }
 | 
						||
 | 
						||
            getPosition() {
 | 
						||
                return this.entity.modelMatrix
 | 
						||
            }
 | 
						||
 | 
						||
            clone(e) {
 | 
						||
                return Cesium.clone(this.entity.model)
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class O {
 | 
						||
            static FileUrl = "../public/models/glb/";
 | 
						||
 | 
						||
            constructor(e, { url: t, height: i, lon: r, lat: n, id: s, name: a, scale: o, angle: l }, h) {
 | 
						||
                if (this.icy = e,
 | 
						||
                !t && !h)
 | 
						||
                    return console.error("传参有问题");
 | 
						||
                o = o || 1,
 | 
						||
                  i = i || 0,
 | 
						||
                  r = r || 116.28678152222574,
 | 
						||
                  n = n || 40.05185885026265;
 | 
						||
                let u = Cesium.Cartesian3.fromDegrees(r, n, i);
 | 
						||
                var c = Cesium.Math.toRadians(l[0])
 | 
						||
                  , m = Cesium.Math.toRadians(l[1])
 | 
						||
                  , d = Cesium.Math.toRadians(l[2])
 | 
						||
                  , p = new Cesium.HeadingPitchRoll(c, m, d);
 | 
						||
                let C = Cesium.Transforms.headingPitchRollToFixedFrame(u, p, Cesium.Ellipsoid.WGS84, Cesium.Transforms.eastNorthUpToFixedFrame, new Cesium.Matrix4);
 | 
						||
                this.entity = e.viewer.scene.primitives.add(Cesium.Model.fromGltf({
 | 
						||
                    url: t,
 | 
						||
                    color: Cesium.Color.WHITE,
 | 
						||
                    modelMatrix: C,
 | 
						||
                    scale: o
 | 
						||
                }))
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            getEntity() {
 | 
						||
                return this.entity
 | 
						||
            }
 | 
						||
 | 
						||
            getState() {
 | 
						||
                let e = this.entity.modelMatrix;
 | 
						||
                const t = Cesium.Matrix4.getTranslation(e, new Cesium.Cartesian3);
 | 
						||
                var i = this.icy.viewer.scene.globe.ellipsoid.cartesianToCartographic(t)
 | 
						||
                  , r = Cesium.Math.toDegrees(i.latitude)
 | 
						||
                  , n = Cesium.Math.toDegrees(i.longitude)
 | 
						||
                  , s = i.height;
 | 
						||
                let a = e;
 | 
						||
                var o = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Matrix4.getTranslation(a, new Cesium.Cartesian3), Cesium.Ellipsoid.WGS84, new Cesium.Matrix4)
 | 
						||
                  , l = Cesium.Matrix4.multiply(Cesium.Matrix4.inverse(o, new Cesium.Matrix4), a, new Cesium.Matrix4)
 | 
						||
                  , h = Cesium.Matrix4.getMatrix3(l, new Cesium.Matrix3)
 | 
						||
                  , u = Cesium.Quaternion.fromRotationMatrix(h)
 | 
						||
                  , c = Cesium.HeadingPitchRoll.fromQuaternion(u);
 | 
						||
                return {
 | 
						||
                    lng: n,
 | 
						||
                    lat: r,
 | 
						||
                    alt: s,
 | 
						||
                    angle: [Cesium.Math.toDegrees(c.heading), Cesium.Math.toDegrees(c.pitch), Cesium.Math.toDegrees(c.roll)]
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            getPosition() {
 | 
						||
                return this.entity.modelMatrix
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class A {
 | 
						||
            constructor(e) {
 | 
						||
                this.name = e,
 | 
						||
                  this.children = []
 | 
						||
            }
 | 
						||
 | 
						||
            add(e) {
 | 
						||
                if (!e.entity)
 | 
						||
                    throw "请传入模型";
 | 
						||
                this.children.push(e)
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.children.forEach((t => {
 | 
						||
                      t.show(e)
 | 
						||
                  }
 | 
						||
                ))
 | 
						||
            }
 | 
						||
 | 
						||
            move() {
 | 
						||
                this.children.map((e => {
 | 
						||
                      e.entity.position._value.x -= 1
 | 
						||
                  }
 | 
						||
                ))
 | 
						||
            }
 | 
						||
 | 
						||
            destroy(e) {
 | 
						||
                this.children.forEach((t => {
 | 
						||
                      e.viewer.entities.remove(t.entity)
 | 
						||
                  }
 | 
						||
                ))
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class F extends D {
 | 
						||
            static PERSON_BLUE = {
 | 
						||
                url: D.FileUrl + "person_000002_blue.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_BLUE_FAT = {
 | 
						||
                url: D.FileUrl + "person_000002_blue_fat.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_GREEN = {
 | 
						||
                url: D.FileUrl + "person_000002_green.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_GREEN_FAT = {
 | 
						||
                url: D.FileUrl + "person_000002_green_fat.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_RED = {
 | 
						||
                url: D.FileUrl + "person_000002_red.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_RED_FAT = {
 | 
						||
                url: D.FileUrl + "person_000002_red_fat.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_WHITE = {
 | 
						||
                url: D.FileUrl + "person_000002_white.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_WHITE_FAT = {
 | 
						||
                url: D.FileUrl + "person_000002_white_fat.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_YELLOW = {
 | 
						||
                url: D.FileUrl + "person_000002_yellow.gltf"
 | 
						||
            };
 | 
						||
            static PERSON_YELLOW_FAT = {
 | 
						||
                url: D.FileUrl + "person_000002_yellow_fat.gltf"
 | 
						||
            };
 | 
						||
 | 
						||
            constructor(e, t, { lon: i, lat: r, id: n, name: s, scale: a, angle: o, height: l }) {
 | 
						||
                super(e, {
 | 
						||
                    url: t.url,
 | 
						||
                    height: l,
 | 
						||
                    lon: i,
 | 
						||
                    lat: r,
 | 
						||
                    id: n,
 | 
						||
                    name: s,
 | 
						||
                    scale: a,
 | 
						||
                    angle: o
 | 
						||
                })
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() { }
 | 
						||
        }
 | 
						||
 | 
						||
        const z = window.Cesium
 | 
						||
          , L = 52.35987755982988
 | 
						||
          , k = 3.141592653589793
 | 
						||
          , N = class {
 | 
						||
              static BD09ToGCJ02(e, t) {
 | 
						||
                  let i = +e - .0065
 | 
						||
                    , r = +t - .006
 | 
						||
                    , n = Math.sqrt(i * i + r * r) - 2e-5 * Math.sin(r * L)
 | 
						||
                    , s = Math.atan2(r, i) - 3e-6 * Math.cos(i * L);
 | 
						||
                  return [n * Math.cos(s), n * Math.sin(s)]
 | 
						||
              }
 | 
						||
 | 
						||
              static GCJ02ToBD09(e, t) {
 | 
						||
                  t = +t,
 | 
						||
                    e = +e;
 | 
						||
                  let i = Math.sqrt(e * e + t * t) + 2e-5 * Math.sin(t * L)
 | 
						||
                    , r = Math.atan2(t, e) + 3e-6 * Math.cos(e * L);
 | 
						||
                  return [i * Math.cos(r) + .0065, i * Math.sin(r) + .006]
 | 
						||
              }
 | 
						||
 | 
						||
              static WGS84ToGCJ02(e, t) {
 | 
						||
                  if (t = +t,
 | 
						||
                    e = +e,
 | 
						||
                    this.out_of_china(e, t))
 | 
						||
                      return [e, t];
 | 
						||
                  {
 | 
						||
                      let i = this.delta(e, t);
 | 
						||
                      return [e + i[0], t + i[1]]
 | 
						||
                  }
 | 
						||
              }
 | 
						||
 | 
						||
              static GCJ02ToWGS84(e, t) {
 | 
						||
                  if (t = +t,
 | 
						||
                    e = +e,
 | 
						||
                    this.out_of_china(e, t))
 | 
						||
                      return [e, t];
 | 
						||
                  {
 | 
						||
                      let i = this.delta(e, t);
 | 
						||
                      return [2 * e - (e + i[0]), 2 * t - (t + i[1])]
 | 
						||
                  }
 | 
						||
              }
 | 
						||
 | 
						||
              static delta(e, t) {
 | 
						||
                  let i = this.transformLng(e - 105, t - 35)
 | 
						||
                    , r = this.transformLat(e - 105, t - 35);
 | 
						||
                  const n = t / 180 * k;
 | 
						||
                  let s = Math.sin(n);
 | 
						||
                  s = 1 - .006693421622965943 * s * s;
 | 
						||
                  const a = Math.sqrt(s);
 | 
						||
                  return i = 180 * i / (6378245 / a * Math.cos(n) * k),
 | 
						||
                    r = 180 * r / (6335552.717000426 / (s * a) * k),
 | 
						||
                    [i, r]
 | 
						||
              }
 | 
						||
 | 
						||
              static transformLng(e, t) {
 | 
						||
                  let i = 300 + (e = +e) + 2 * (t = +t) + .1 * e * e + .1 * e * t + .1 * Math.sqrt(Math.abs(e));
 | 
						||
                  return i += 2 * (20 * Math.sin(6 * e * k) + 20 * Math.sin(2 * e * k)) / 3,
 | 
						||
                    i += 2 * (20 * Math.sin(e * k) + 40 * Math.sin(e / 3 * k)) / 3,
 | 
						||
                    i += 2 * (150 * Math.sin(e / 12 * k) + 300 * Math.sin(e / 30 * k)) / 3,
 | 
						||
                    i
 | 
						||
              }
 | 
						||
 | 
						||
              static transformLat(e, t) {
 | 
						||
                  let i = 2 * (e = +e) - 100 + 3 * (t = +t) + .2 * t * t + .1 * e * t + .2 * Math.sqrt(Math.abs(e));
 | 
						||
                  return i += 2 * (20 * Math.sin(6 * e * k) + 20 * Math.sin(2 * e * k)) / 3,
 | 
						||
                    i += 2 * (20 * Math.sin(t * k) + 40 * Math.sin(t / 3 * k)) / 3,
 | 
						||
                    i += 2 * (160 * Math.sin(t / 12 * k) + 320 * Math.sin(t * k / 30)) / 3,
 | 
						||
                    i
 | 
						||
              }
 | 
						||
 | 
						||
              static out_of_china(e, t) {
 | 
						||
                  return t = +t,
 | 
						||
                    !((e = +e) > 73.66 && e < 135.05 && t > 3.86 && t < 53.55)
 | 
						||
              }
 | 
						||
 | 
						||
              static transformWGS84ToCartesian(e, t, i) {
 | 
						||
                  return t ? z.Cartesian3.fromDegrees(t.lng || t.lon, t.lat, t.alt = i || t.alt, z.Ellipsoid.WGS84) : z.Cartesian3.ZERO
 | 
						||
              }
 | 
						||
 | 
						||
              static transformCartesianToWGS84(e, t) {
 | 
						||
                  let i = z.Ellipsoid.WGS84.cartesianToCartographic(t);
 | 
						||
                  return {
 | 
						||
                      lng: z.Math.toDegrees(i.longitude),
 | 
						||
                      lat: z.Math.toDegrees(i.latitude),
 | 
						||
                      alt: i.height
 | 
						||
                  }
 | 
						||
              }
 | 
						||
          }
 | 
						||
          , G = class {
 | 
						||
              constructor(e, t, i, r) {
 | 
						||
                  if (!e)
 | 
						||
                      throw new Error("viewer is required!");
 | 
						||
                  this._viewer = e,
 | 
						||
                    this._gltf = t,
 | 
						||
                    this._handler = void 0,
 | 
						||
                    this._defaultWidth = 15,
 | 
						||
                    this._currentPick = void 0,
 | 
						||
                    this._dStep = i,
 | 
						||
                    this._rStep = r,
 | 
						||
                    this._params = {
 | 
						||
                        tx: 0,
 | 
						||
                        ty: 0,
 | 
						||
                        tz: 0,
 | 
						||
                        heading: 0,
 | 
						||
                        pitch: 0,
 | 
						||
                        roll: 0,
 | 
						||
                        scale: 1
 | 
						||
                    },
 | 
						||
                    this._coordArrows = void 0,
 | 
						||
                    this._coordCircle = [],
 | 
						||
                    this.initEvent()
 | 
						||
              }
 | 
						||
 | 
						||
              get params() {
 | 
						||
                  return this._params
 | 
						||
              }
 | 
						||
 | 
						||
              initParam() {
 | 
						||
                  this.removeAllTools();
 | 
						||
                  let e = this._gltf;
 | 
						||
                  this._viewer;
 | 
						||
                  const t = this.returnGltfCentorDegree(e)
 | 
						||
                    , i = this.returnGltfRotation(e);
 | 
						||
                  return this._params.tx = t.lng,
 | 
						||
                    this._params.ty = t.lat,
 | 
						||
                    this._params.tz = t.alt,
 | 
						||
                    this._params.heading = i.heading,
 | 
						||
                    this._params.pitch = i.pitch,
 | 
						||
                    this._params.roll = i.roll,
 | 
						||
                    {
 | 
						||
                        originDegree: t,
 | 
						||
                        length: 50
 | 
						||
                    }
 | 
						||
              }
 | 
						||
 | 
						||
              returnGltfRotation(e) {
 | 
						||
                  let t = e.modelMatrix
 | 
						||
                    , i = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Matrix4.getTranslation(t, new Cesium.Cartesian3), Cesium.Ellipsoid.WGS84, new Cesium.Matrix4)
 | 
						||
                    , r = Cesium.Matrix4.multiply(Cesium.Matrix4.inverse(i, new Cesium.Matrix4), t, new Cesium.Matrix4)
 | 
						||
                    , n = Cesium.Matrix4.getMatrix3(r, new Cesium.Matrix3)
 | 
						||
                    , s = Cesium.Quaternion.fromRotationMatrix(n);
 | 
						||
                  return Cesium.HeadingPitchRoll.fromQuaternion(s)
 | 
						||
              }
 | 
						||
 | 
						||
              returnGltfCentor(e) {
 | 
						||
                  let t = e.modelMatrix;
 | 
						||
                  return new Cesium.Cartesian3(t[12], t[13], t[14])
 | 
						||
              }
 | 
						||
 | 
						||
              returnGltfCentorDegree(e) {
 | 
						||
                  let t = this.returnGltfCentor(e);
 | 
						||
                  return N.transformCartesianToWGS84(this._viewer, t)
 | 
						||
              }
 | 
						||
 | 
						||
              editRtation() {
 | 
						||
                  const e = this.initParam();
 | 
						||
                  this.createCircle(e.originDegree.lng, e.originDegree.lat, e.originDegree.alt, e.length)
 | 
						||
              }
 | 
						||
 | 
						||
              createCircle(e, t, i, r) {
 | 
						||
                  const n = [];
 | 
						||
                  for (let e = 0; e <= 360; e += 3) {
 | 
						||
                      const t = Math.sin(Cesium.Math.toRadians(e))
 | 
						||
                        , i = r * Math.cos(Cesium.Math.toRadians(e))
 | 
						||
                        , s = r * t;
 | 
						||
                      n.push(new Cesium.Cartesian3(i, s, 0))
 | 
						||
                  }
 | 
						||
                  const s = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3.fromDegrees(e, t, i))
 | 
						||
                    , a = this.createAxisSphere("model_edit_zCircle", n, s, Cesium.Color.RED);
 | 
						||
                  this._viewer.scene.primitives.add(a);
 | 
						||
                  const o = this.createAxisSphere("model_edit_yCircle", n, s, Cesium.Color.BLUE);
 | 
						||
                  this._viewer.scene.primitives.add(o);
 | 
						||
                  let l = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(90))
 | 
						||
                    , h = Cesium.Matrix4.fromRotationTranslation(l);
 | 
						||
                  Cesium.Matrix4.multiply(o.geometryInstances.modelMatrix, h, o.geometryInstances.modelMatrix);
 | 
						||
                  const u = this.createAxisSphere("model_edit_xCircle", n, s, Cesium.Color.GREEN);
 | 
						||
                  this._viewer.scene.primitives.add(u);
 | 
						||
                  let c = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(90))
 | 
						||
                    , m = Cesium.Matrix4.fromRotationTranslation(c);
 | 
						||
                  Cesium.Matrix4.multiply(u.geometryInstances.modelMatrix, m, u.geometryInstances.modelMatrix)
 | 
						||
              }
 | 
						||
 | 
						||
              createAxisSphere(e, t, i, r) {
 | 
						||
                  let n = new Cesium.Primitive({
 | 
						||
                      geometryInstances: new Cesium.GeometryInstance({
 | 
						||
                          id: e,
 | 
						||
                          geometry: new Cesium.PolylineGeometry({
 | 
						||
                              positions: t,
 | 
						||
                              width: 5
 | 
						||
                          }),
 | 
						||
                          attributes: {
 | 
						||
                              color: Cesium.ColorGeometryInstanceAttribute.fromColor(r)
 | 
						||
                          }
 | 
						||
                      }),
 | 
						||
                      releaseGeometryInstances: !1,
 | 
						||
                      appearance: new Cesium.PolylineColorAppearance({
 | 
						||
                          translucent: !1
 | 
						||
                      }),
 | 
						||
                      modelMatrix: i
 | 
						||
                  });
 | 
						||
                  return n._name = e,
 | 
						||
                    this._coordCircle.push(n),
 | 
						||
                    n
 | 
						||
              }
 | 
						||
 | 
						||
              onEdit(e) {
 | 
						||
                  this._gltf.color = this._gltf.color.withAlpha(e ? .5 : 1),
 | 
						||
                    this._gltf._allowPicking = !e
 | 
						||
              }
 | 
						||
 | 
						||
              editTranslation() {
 | 
						||
                  const e = this.initParam();
 | 
						||
                  this.onEdit(!0);
 | 
						||
                  const t = e.length;
 | 
						||
                  let i = new Cesium.Cartesian3(t, t, t)
 | 
						||
                    , r = this.returnGltfCentor(this._gltf)
 | 
						||
                    , n = this.getTransPostion(r, i);
 | 
						||
                  this.initLineArrow(e.originDegree, n, t)
 | 
						||
              }
 | 
						||
 | 
						||
              updateLineArrow(e, t) {
 | 
						||
                  this.removeCoordArrows(),
 | 
						||
                    this._viewer;
 | 
						||
                  const i = e.scale * e._boundingSphere.radius / .8;
 | 
						||
                  let r = new Cesium.Cartesian3(i, i, i)
 | 
						||
                    , n = this.returnGltfCentor(this._gltf)
 | 
						||
                    , s = this.getTransPostion(n, r);
 | 
						||
                  this.initLineArrow(t, s, i)
 | 
						||
              }
 | 
						||
 | 
						||
              initEvent() {
 | 
						||
                  const e = this
 | 
						||
                    , t = this._viewer;
 | 
						||
                  e._handler = new Cesium.ScreenSpaceEventHandler(t.scene.canvas),
 | 
						||
                    e._handler.setInputAction((function (i) {
 | 
						||
                          let r = t.scene.pick(i.position);
 | 
						||
                          if (r && r.primitive && r.primitive._name && -1 != r.primitive._name.indexOf("model_edit")) {
 | 
						||
                              t.scene.screenSpaceCameraController.enableRotate = !1,
 | 
						||
                                e._currentPick = r.primitive,
 | 
						||
                                e._currentPick.width = 25;
 | 
						||
                              let n = t.scene.camera.pickEllipsoid(i.position, t.scene.globe.ellipsoid)
 | 
						||
                                , s = JSON.parse(JSON.stringify(e._gltf.modelMatrix))
 | 
						||
                                , a = 0
 | 
						||
                                , o = 0
 | 
						||
                                , l = 0
 | 
						||
                                , h = 0
 | 
						||
                                , u = 0
 | 
						||
                                , c = 0;
 | 
						||
                              if (n && Cesium.defined(n)) {
 | 
						||
                                  a = 0,
 | 
						||
                                    o = 0,
 | 
						||
                                    l = 0,
 | 
						||
                                    h = 0,
 | 
						||
                                    u = 0,
 | 
						||
                                    c = 0;
 | 
						||
                                  const r = N.transformCartesianToWGS84(t, n);
 | 
						||
                                  e._handler.setInputAction((function (n) {
 | 
						||
                                        let m = t.scene.camera.pickEllipsoid(n.endPosition, t.scene.globe.ellipsoid);
 | 
						||
                                        const d = N.transformCartesianToWGS84(t, m)
 | 
						||
                                          , p = n.endPosition.y - i.position.y
 | 
						||
                                          , C = n.endPosition.x - i.position.x;
 | 
						||
                                        switch (e._currentPick._name) {
 | 
						||
                                            case "model_edit_xArrow":
 | 
						||
                                                a = d.lng - r.lng;
 | 
						||
                                                break;
 | 
						||
                                            case "model_edit_yArrow":
 | 
						||
                                                o = d.lat - r.lat;
 | 
						||
                                                break;
 | 
						||
                                            case "model_edit_zArrow":
 | 
						||
                                                l = -e._dStep * p;
 | 
						||
                                                break;
 | 
						||
                                            case "model_edit_xCircle":
 | 
						||
                                                h = e._rStep * p;
 | 
						||
                                                break;
 | 
						||
                                            case "model_edit_yCircle":
 | 
						||
                                                u = e._rStep * C;
 | 
						||
                                                break;
 | 
						||
                                            case "model_edit_zCircle":
 | 
						||
                                                c = e._rStep * C
 | 
						||
                                        }
 | 
						||
                                        e.updateModel(e._params, a, o, l, h, u, c, s)
 | 
						||
                                    }
 | 
						||
                                  ), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
 | 
						||
                              }
 | 
						||
                              e._handler.setInputAction((function (i) {
 | 
						||
                                    t.scene.screenSpaceCameraController.enableRotate = !0,
 | 
						||
                                      e._currentPick.width = e._defaultWidth,
 | 
						||
                                      e._currentPick = void 0,
 | 
						||
                                      e._params.tx += a,
 | 
						||
                                      e._params.ty += o,
 | 
						||
                                      e._params.tz += l;
 | 
						||
                                    let r = e.returnGltfRotation(e._gltf);
 | 
						||
                                    e._params.heading = r.heading,
 | 
						||
                                      e._params.pitch = r.pitch,
 | 
						||
                                      e._params.roll = r.roll,
 | 
						||
                                      e._handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),
 | 
						||
                                      e._handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP)
 | 
						||
                                }
 | 
						||
                              ), Cesium.ScreenSpaceEventType.LEFT_UP)
 | 
						||
                          }
 | 
						||
                      }
 | 
						||
                    ), Cesium.ScreenSpaceEventType.LEFT_DOWN)
 | 
						||
              }
 | 
						||
 | 
						||
              updateModel(e, t, i, r, n, s, a, o) {
 | 
						||
                  if (this._coordArrows) {
 | 
						||
                      let n = new Cesium.HeadingPitchRoll(e.heading, e.pitch, e.roll)
 | 
						||
                        , s = new Cesium.Cartesian3.fromDegrees(e.tx + t, e.ty + i, e.tz + r)
 | 
						||
                        , a = Cesium.Transforms.headingPitchRollToFixedFrame(s, n, Cesium.Ellipsoid.WGS84, Cesium.Transforms.eastNorthUpToFixedFrame, new Cesium.Matrix4);
 | 
						||
                      this._gltf.modelMatrix = a,
 | 
						||
                        this.updateLineArrow(this._gltf, {
 | 
						||
                            lng: e.tx + t,
 | 
						||
                            lat: e.ty + i,
 | 
						||
                            alt: e.tz + r
 | 
						||
                        })
 | 
						||
                  }
 | 
						||
                  if (this._coordCircle) {
 | 
						||
                      let e;
 | 
						||
                      0 != n ? e = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(n)) : 0 != s ? e = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(s)) : 0 != a && (e = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(a))),
 | 
						||
                        this._gltf.modelMatrix = e ? Cesium.Matrix4.multiplyByMatrix3(o, e, new Cesium.Matrix4) : this._gltf.modelMatrix
 | 
						||
                  }
 | 
						||
              }
 | 
						||
 | 
						||
              initLineArrow(e, t, i) {
 | 
						||
                  const r = new Cesium.PolylineCollection
 | 
						||
                    , n = [e.lng, e.lat, e.alt, t.lng, e.lat, e.alt]
 | 
						||
                    , s = (this.darwArrow(r, "model_edit_xArrow", n, Cesium.Color.GREEN),
 | 
						||
                    [e.lng, e.lat, e.alt, e.lng, t.lat, e.alt])
 | 
						||
                    , a = (this.darwArrow(r, "model_edit_yArrow", s, Cesium.Color.BLUE),
 | 
						||
                    [e.lng, e.lat, e.alt, e.lng, e.lat, t.alt]);
 | 
						||
                  this.darwArrow(r, "model_edit_zArrow", a, Cesium.Color.RED),
 | 
						||
                    this._coordArrows = this._viewer.scene.primitives.add(r),
 | 
						||
                    this._coordArrows._name = "CoordAxis"
 | 
						||
              }
 | 
						||
 | 
						||
              darwArrow(e, t, i, r) {
 | 
						||
                  e.add({
 | 
						||
                      positions: Cesium.Cartesian3.fromDegreesArrayHeights(i),
 | 
						||
                      width: this._defaultWidth,
 | 
						||
                      material: Cesium.Material.fromType(Cesium.Material.PolylineArrowType, {
 | 
						||
                          color: r
 | 
						||
                      })
 | 
						||
                  })._name = t
 | 
						||
              }
 | 
						||
 | 
						||
              getTransPostion(e, t) {
 | 
						||
                  let i = Cesium.Transforms.eastNorthUpToFixedFrame(e)
 | 
						||
                    , r = new Cesium.Matrix4;
 | 
						||
                  Cesium.Matrix4.setTranslation(Cesium.Matrix4.IDENTITY, t, r);
 | 
						||
                  let n = Cesium.Matrix4.multiply(i, r, i);
 | 
						||
                  return Cesium.Matrix4.getTranslation(n, e),
 | 
						||
                    N.transformCartesianToWGS84(this._viewer, e)
 | 
						||
              }
 | 
						||
 | 
						||
              removeCoordArrows() {
 | 
						||
                  this._coordArrows && (this._viewer.scene.primitives.remove(this._coordArrows),
 | 
						||
                    this._coordArrows = void 0)
 | 
						||
              }
 | 
						||
 | 
						||
              removeCoordCircle() {
 | 
						||
                  this._coordCircle.forEach((e => {
 | 
						||
                        this._viewer.scene.primitives.remove(e)
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                    this._coordCircle = []
 | 
						||
              }
 | 
						||
 | 
						||
              removeAllTools() {
 | 
						||
                  this.removeCoordArrows(),
 | 
						||
                    this.removeCoordCircle()
 | 
						||
              }
 | 
						||
 | 
						||
              destroy() {
 | 
						||
                  this._gltf.currentPosition = [this._params.tx, this._params.ty, this._params.tz],
 | 
						||
                    this.removeAllTools(),
 | 
						||
                    this._handler.destroy(),
 | 
						||
                    this.onEdit(!1)
 | 
						||
              }
 | 
						||
          }
 | 
						||
        ;
 | 
						||
 | 
						||
        class U {
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.fenceList = [],
 | 
						||
                  this.currentFence = [],
 | 
						||
                  this.currentEntity = [],
 | 
						||
                  this.currentState = !1,
 | 
						||
                  this.currentPolyline,
 | 
						||
                  this.currentPolygon
 | 
						||
            }
 | 
						||
 | 
						||
            start() {
 | 
						||
                this.currentState = !0;
 | 
						||
                let e = this.icy.viewer.canvas.parentNode
 | 
						||
                  , t = document.createElement("div");
 | 
						||
                t.id = "menu",
 | 
						||
                  t.style = "width:100px;position:fixed;left:20px;top:30px;z-index:99";
 | 
						||
                let i = document.createElement("button");
 | 
						||
                i.innerHTML = "完成绘制",
 | 
						||
                  i.addEventListener("click", (() => {
 | 
						||
                        this.sout(),
 | 
						||
                          this.finish()
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  t.appendChild(i),
 | 
						||
                  e.appendChild(t)
 | 
						||
                i.remove()
 | 
						||
            }
 | 
						||
 | 
						||
            add(e, t, i, z) {
 | 
						||
                // console.log(e, t, i, z, '10001');
 | 
						||
                if (z < 0.1) {
 | 
						||
                    z = 0.1
 | 
						||
                }
 | 
						||
                if (!this.currentState)
 | 
						||
                    throw "绘制电子围栏请先调用start函数";
 | 
						||
                let r;
 | 
						||
                if (this.currentFence.push([e, t, i]),
 | 
						||
                  r = this.addPoint(e, t, i, z),
 | 
						||
                this.currentFence.length > 1) {
 | 
						||
                    let e = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat());
 | 
						||
                    this.currentPolyline ? this.currentPolyline.polyline.positions = e : this.currentPolyline = this.icy.viewer.entities.add({
 | 
						||
                        name: '电子围栏',
 | 
						||
                        polyline: {
 | 
						||
                            positions: e,
 | 
						||
                            width: 5,
 | 
						||
                            height: 3,
 | 
						||
                            maximumHeights: 10,
 | 
						||
                            minimumHeights: 0,
 | 
						||
                            material: new Cesium.Color.fromCssColorString("#00fffb"),
 | 
						||
                            // clampToGround: !0
 | 
						||
                        }
 | 
						||
                    })
 | 
						||
                }
 | 
						||
                if (this.currentFence.length > 2) {
 | 
						||
                    let het = z
 | 
						||
                    let e = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat());
 | 
						||
                    this.currentPolygon ? this.currentPolygon.polygon.hierarchy = e : this.currentPolygon = this.icy.viewer.entities.add({
 | 
						||
                        polygon: {
 | 
						||
                            hierarchy: e,
 | 
						||
                            // material: Cesium.Color.RED,
 | 
						||
                            material: new Cesium.Color.fromCssColorString("red").withAlpha(.5),
 | 
						||
                            extrudedHeight: het,
 | 
						||
                            height: Number(het + 0.1),
 | 
						||
                        }
 | 
						||
                    })
 | 
						||
                }
 | 
						||
                this.currentEntity.push(r)
 | 
						||
            }
 | 
						||
 | 
						||
            back() {
 | 
						||
                if (!this.currentState)
 | 
						||
                    throw "请先调用start函数";
 | 
						||
                this.currentFence.length = this.currentFence.length - 1,
 | 
						||
                  this.icy.viewer.entities.remove(this.currentEntity[this.currentEntity.length - 1]),
 | 
						||
                  this.currentEntity.length = this.currentEntity.length - 1,
 | 
						||
                  this.update_Polygon(),
 | 
						||
                  this.update_Polyline()
 | 
						||
            }
 | 
						||
 | 
						||
            stop() {
 | 
						||
                this.currentState ? (this.currentState = !1,
 | 
						||
                0 != this.currentFence.length && this.fenceList.push(this.currentFence),
 | 
						||
                  this.currentFence = []) : console.error("状态已经是停止状态")
 | 
						||
            }
 | 
						||
 | 
						||
            finish() {
 | 
						||
                this.currentEntity.forEach((e => this.icy.viewer.entities.remove(e))),
 | 
						||
                  this.currentEntity = [],
 | 
						||
                  this.icy.viewer.entities.remove(this.currentPolygon),
 | 
						||
                  this.currentPolygon = void 0,
 | 
						||
                  this.icy.viewer.entities.remove(this.currentPolyline),
 | 
						||
                  this.currentPolyline = void 0;
 | 
						||
                let e = this.currentFence.flat();
 | 
						||
                e.push(...this.currentFence[0]);
 | 
						||
                let t = this.icy.viewer.entities.add({
 | 
						||
                    wall: {
 | 
						||
                        positions: Cesium.Cartesian3.fromDegreesArrayHeights(e),
 | 
						||
                        maximumHeights: new Array(e.length).fill(60),
 | 
						||
                        minimunHeights: new Array(e.length).fill(10),
 | 
						||
                        material: new Cesium.WallDiffuseMaterialProperty({
 | 
						||
                            color: new Cesium.Color(1, 1, 0, 1)
 | 
						||
                        })
 | 
						||
                    }
 | 
						||
                });
 | 
						||
                this.currentFence.length = 0,
 | 
						||
                  this.fenceList.push(t)
 | 
						||
            }
 | 
						||
 | 
						||
            addPoint(e, t, i, z) {
 | 
						||
                let r;
 | 
						||
                return r = this.icy.viewer.entities.add({
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(e, t, i),
 | 
						||
                    point: {
 | 
						||
                        pixelSize: 8,
 | 
						||
                        extrudedHeight: z,
 | 
						||
                        color: Cesium.Color.YELLOW,
 | 
						||
                        disableDepthTestDistance: Number.POSITIVE_INFINITY
 | 
						||
                    }
 | 
						||
                }),
 | 
						||
                  r
 | 
						||
            }
 | 
						||
 | 
						||
            update_Polygon() {
 | 
						||
                this.currentEntity.length < 3 ? (this.icy.viewer.entities.remove(this.currentPolygon),
 | 
						||
                  this.currentPolygon = void 0) : this.currentPolygon.polygon.hierarchy = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat())
 | 
						||
            }
 | 
						||
 | 
						||
            update_Polyline() {
 | 
						||
                if (this.currentEntity.length < 2)
 | 
						||
                    this.icy.viewer.entities.remove(this.currentPolyline),
 | 
						||
                      this.currentPolyline = void 0;
 | 
						||
                else {
 | 
						||
                    let e = this.currentFence.flat();
 | 
						||
                    this.currentPolyline.polyline.positions = Cesium.Cartesian3.fromDegreesArrayHeights(e)
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            clear() {
 | 
						||
                try {
 | 
						||
                    this.finish()
 | 
						||
                } catch (e) { }
 | 
						||
                this.fenceList.map((e => {
 | 
						||
                      this.icy.viewer.entities.remove(e)
 | 
						||
                  }
 | 
						||
                )),
 | 
						||
                  this.fenceList = []
 | 
						||
            }
 | 
						||
 | 
						||
            showDataSource(e, t, i) {
 | 
						||
                if (!i) {
 | 
						||
                    i = 'red'
 | 
						||
                }
 | 
						||
                let r = e.flat();
 | 
						||
                r.push(...e[0]),
 | 
						||
                  this.qiang = this.icy.viewer.entities.add({
 | 
						||
                      wall: {
 | 
						||
                          positions: Cesium.Cartesian3.fromDegreesArrayHeights(r),
 | 
						||
                          maximumHeights: new Array(r.length).fill(t),
 | 
						||
                          minimunHeights: new Array(r.length).fill(10),
 | 
						||
                          material: new Cesium.WallDiffuseMaterialProperty({
 | 
						||
                              color: new Cesium.Color.fromCssColorString(i).withAlpha(0.9)
 | 
						||
                          })
 | 
						||
                      }
 | 
						||
                  })
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.qiang.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.qiang),
 | 
						||
                  this.qiang = void 0
 | 
						||
            }
 | 
						||
 | 
						||
            sout() {
 | 
						||
                console.log("本次您绘制的区域经纬度为"),
 | 
						||
                  console.log(JSON.stringify(this.currentFence))
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class W {
 | 
						||
            constructor(e, { name: t = null, width: i, positions: r, color: n }) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.positions = r,
 | 
						||
                  this.entity = e.viewer.entities.add({
 | 
						||
                      name: t,
 | 
						||
                      polyline: {
 | 
						||
                          positions: Cesium.Cartesian3.fromDegreesArrayHeights(r.flat()),
 | 
						||
                          width: i,
 | 
						||
                          clampToGround: !1,
 | 
						||
                          disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                          // material: Cesium.Color.fromCssColorString(n),
 | 
						||
 | 
						||
                          material: new Cesium.PolylineGlowMaterialProperty({
 | 
						||
                              color: Cesium.Color.fromCssColorString(n),
 | 
						||
                              glowPower: 0.5,
 | 
						||
                          }),
 | 
						||
                          // material:new Cesium.PolylineTrailLinkMaterialProperty(Cesium.Color.CYAN, localStorage.getItem('setHttp')+'images/右箭头.png', 4000)
 | 
						||
                          // material: new Cesium.PolylineCityLinkMaterialProperty({
 | 
						||
                          //     image: localStorage.getItem('setHttp')+"images/摄像头1.png",
 | 
						||
                          //     color: new Cesium.Color(3.0, 36.0, 64.0),
 | 
						||
                          //     duration: 900,
 | 
						||
 | 
						||
                          //   })
 | 
						||
                      }
 | 
						||
                  })
 | 
						||
            }
 | 
						||
 | 
						||
            setCurrentIndex(e) {
 | 
						||
                // let t = [];
 | 
						||
                let t = JSON.parse(JSON.stringify(this.positions))
 | 
						||
                if (e == 1) {
 | 
						||
                    t.splice(0, 1)
 | 
						||
                }
 | 
						||
                for (let i = 0; i < e; i++) {
 | 
						||
                    // t.push(this.positions[i]);
 | 
						||
                    t.splice(0, 1)
 | 
						||
                }
 | 
						||
                // console.log(t, 'guijj');
 | 
						||
                this.entity.polyline.positions = new Cesium.CallbackProperty((() => Cesium.Cartesian3.fromDegreesArrayHeights(t.flat())), !1)
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
            }
 | 
						||
 | 
						||
            // 动态线材质
 | 
						||
        }
 | 
						||
 | 
						||
        class RT {
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.positions,
 | 
						||
                  this.entity,
 | 
						||
                  this.polylineArr = [],//点位数组
 | 
						||
                  this.polylineArrBackups = [],//点位数组撤回备份
 | 
						||
                  this.pointArr = [],//点位实体
 | 
						||
                  this.num = 0,
 | 
						||
                  this.label,
 | 
						||
                  this.lastPosition = [],
 | 
						||
                  this.maxDistance = 1000,//最大补点距离
 | 
						||
                  this.completion = true
 | 
						||
            }
 | 
						||
 | 
						||
            add(x, y, z) {//
 | 
						||
                this.polylineArrBackups = JSON.parse(JSON.stringify(this.polylineArr))
 | 
						||
                // z=0.5
 | 
						||
                this.icy.viewer.scene.globe.depthTestAgainstTerrain = true
 | 
						||
                this.num++
 | 
						||
                this.polylineArr.push([x, y, z])
 | 
						||
                this.positions = Cesium.Cartesian3.fromDegreesArrayHeights(this.polylineArr.flat());
 | 
						||
                if (this.num == 1) {
 | 
						||
                    this.entity = this.icy.viewer.entities.add({
 | 
						||
                        name: 't',
 | 
						||
                        polyline: {
 | 
						||
                            positions: this.positions,
 | 
						||
                            width: 5,
 | 
						||
                            show: this.completion,
 | 
						||
                            clampToGround: !1,
 | 
						||
                            disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                            // material: Cesium.Color.fromCssColorString(n),
 | 
						||
                            material: new Cesium.PolylineGlowMaterialProperty({
 | 
						||
                                color: Cesium.Color.fromCssColorString('blue'),
 | 
						||
                                glowPower: 0.5,
 | 
						||
                            }),
 | 
						||
                        }
 | 
						||
                    })
 | 
						||
                    this.label = this.icy.viewer.entities.add({
 | 
						||
                        name: e.type,
 | 
						||
                        position: Cesium.Cartesian3.fromDegrees(x, y, z),
 | 
						||
                        label: { //文字标签
 | 
						||
                            text: '0m',
 | 
						||
                            font: '500 26px Helvetica',// 15pt monospace
 | 
						||
                            scale: 0.5,
 | 
						||
                            show: this.completion,
 | 
						||
                            style: Cesium.LabelStyle.FILL,
 | 
						||
                            fillColor: new Cesium.Color.fromCssColorString("#54ff2b"),
 | 
						||
                            pixelOffset: new Cesium.Cartesian2(0, -20), //偏移量
 | 
						||
                            showBackground: true,
 | 
						||
                            backgroundColor: new Cesium.Color.fromBytes(6, 30, 88, 125),
 | 
						||
                            disableDepthTestDistance: Number.POSITIVE_INFINITY,//显示级别
 | 
						||
                            distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 100000),
 | 
						||
                        }
 | 
						||
                    });
 | 
						||
                    this.createPoint([x, y, z])
 | 
						||
                } else if (this.num >= 2) {
 | 
						||
                    let aa1 = Cesium.Cartesian3.fromDegrees(this.polylineArr[this.polylineArr.length - 2][0], this.polylineArr[this.polylineArr.length - 2][1])
 | 
						||
                    let aa2 = Cesium.Cartesian3.fromDegrees(this.polylineArr[this.polylineArr.length - 1][0], this.polylineArr[this.polylineArr.length - 1][1])
 | 
						||
                    let arr = this.splitPointsBetweenCoordinates(aa1, aa2)
 | 
						||
                    arr.splice(0, 1)
 | 
						||
                    let last = this.polylineArr.splice(this.polylineArr.length - 1, 1)
 | 
						||
                    arr.push(...last)
 | 
						||
                    arr.forEach((i, n) => {
 | 
						||
                        if (n < arr.length - 1) {
 | 
						||
                            arr[n] = [Cartesian3_to_WGS84(i).lng, Cartesian3_to_WGS84(i).lat, z]
 | 
						||
                        }
 | 
						||
                        this.createPoint(arr[n])
 | 
						||
                    });
 | 
						||
                    this.lastPosition = JSON.parse(JSON.stringify(arr))
 | 
						||
                    this.lastPosition.unshift(this.polylineArr[this.polylineArr.length - 1])
 | 
						||
                    this.polylineArr.push(...arr)
 | 
						||
                    // this.entity.polyline.positions = new Cesium.CallbackProperty((() => Cesium.Cartesian3.fromDegreesArrayHeights(this.polylineArr.flat())), !1)
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            withdraw(red) {
 | 
						||
                if (red) {
 | 
						||
                    let num = this.polylineArr.length - 1
 | 
						||
                    this.polylineArr.splice(num, 1)
 | 
						||
                    this.pointArr.forEach((i, n) => {
 | 
						||
                        this.icy.viewer.entities.remove(i)
 | 
						||
                    });
 | 
						||
                    this.pointArr = []
 | 
						||
                    this.polylineArr.forEach(i => {
 | 
						||
                        this.createPoint(i)
 | 
						||
                    });
 | 
						||
                } else {
 | 
						||
                    if (this.pointArr.length >= 2) {
 | 
						||
                        this.polylineArr = JSON.parse(JSON.stringify(this.polylineArrBackups))
 | 
						||
                        // let num=this.polylineArr.length-1
 | 
						||
                        // console.log(num);
 | 
						||
                        // console.log(this.pointArr);
 | 
						||
                        this.pointArr.forEach((i, n) => {
 | 
						||
                            this.icy.viewer.entities.remove(i)
 | 
						||
                        });
 | 
						||
                        this.pointArr = []
 | 
						||
                        this.polylineArr.forEach(i => {
 | 
						||
                            this.createPoint(i)
 | 
						||
                        });
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            createPoint(e) {//创建节点
 | 
						||
                let point = this.icy.viewer.entities.add({
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(e[0], e[1], e[2]),
 | 
						||
                    point: {
 | 
						||
                        pixelSize: 8,
 | 
						||
                        extrudedHeight: e[2],
 | 
						||
                        color: Cesium.Color.YELLOW,
 | 
						||
                        disableDepthTestDistance: Number.POSITIVE_INFINITY
 | 
						||
                    }
 | 
						||
                })
 | 
						||
                this.pointArr.push(point)
 | 
						||
            }
 | 
						||
 | 
						||
            splitPointsBetweenCoordinates(point1, point2) {//将经纬度两点间每隔5米分割一个点,返回分割后的数组
 | 
						||
                const positions = [];
 | 
						||
                const distance = Cesium.Cartesian3.distance(point1, point2); // 计算两点之间的距离
 | 
						||
                if (distance > this.maxDistance || !this.completion) {
 | 
						||
                    return positions
 | 
						||
                }
 | 
						||
                const numPoints = distance / 5; // 计算分割后的点的数量
 | 
						||
                const step = 1 / numPoints; // 计算步长
 | 
						||
                // 通过插值计算每个分割点的位置,并将其添加到位置数组中
 | 
						||
                for (let i = 0; i <= numPoints; i++) {
 | 
						||
                    const position = Cesium.Cartesian3.lerp(point1, point2, i * step, new Cesium.Cartesian3());
 | 
						||
                    positions.push(position);
 | 
						||
                }
 | 
						||
                return positions;
 | 
						||
            }
 | 
						||
 | 
						||
            setCompletion(e) {//是否补全点,控制线条显示隐藏
 | 
						||
                if (this.pointArr.length != 0) {
 | 
						||
                    this.completion = e
 | 
						||
                    this.show(e)
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            moveline(e) {//鼠标移动,线条跟随,计算距离
 | 
						||
                if (this.num >= 1 && this.completion) {
 | 
						||
                    let t = JSON.parse(JSON.stringify(this.polylineArr))
 | 
						||
                    t[t.length - 1][2] = 1
 | 
						||
                    let arr = [t[t.length - 1]]
 | 
						||
                    arr.push([e.lng, e.lat, 1])
 | 
						||
                    let aa1 = Cesium.Cartesian3.fromDegrees(arr[0][0], arr[0][1])
 | 
						||
                    let aa2 = Cesium.Cartesian3.fromDegrees(arr[1][0], arr[1][1])
 | 
						||
                    const distance = Cesium.Cartesian3.distance(aa1, aa2);
 | 
						||
                    if (distance >= this.maxDistance) {
 | 
						||
                        this.label.label.fillColor = new Cesium.Color.fromCssColorString("#ff2b2b")
 | 
						||
                    } else {
 | 
						||
                        this.label.label.fillColor = new Cesium.Color.fromCssColorString("#54ff2b")
 | 
						||
                    }
 | 
						||
                    this.label.label.text = distance.toFixed(2) + 'm'
 | 
						||
                    this.label.position = Cesium.Cartesian3.fromDegrees(e.lng, e.lat, 1)
 | 
						||
                    this.entity.polyline.positions = new Cesium.CallbackProperty((() => Cesium.Cartesian3.fromDegreesArrayHeights(arr.flat())), !1)
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            GETposition() {
 | 
						||
                return this.lastPosition
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
                this.label.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.pointArr.forEach((i, n) => {
 | 
						||
                    this.icy.viewer.entities.remove(i)
 | 
						||
                });
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
                this.icy.viewer.entities.remove(this.label),
 | 
						||
                  this.label = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        function WGS84_to_Cartesian3(point) {
 | 
						||
            var car33 = Cesium.Cartesian3.fromDegrees(point.lng, point.lat, point.alt);
 | 
						||
            var x = car33.x;
 | 
						||
            var y = car33.y;
 | 
						||
            var z = car33.z;
 | 
						||
            return { x: x, y: y, z: z };
 | 
						||
        }
 | 
						||
 | 
						||
        function Cartesian3_to_WGS84(point) {
 | 
						||
            var cartesian33 = new Cesium.Cartesian3(point.x, point.y, point.z);
 | 
						||
            var cartographic = Cesium.Cartographic.fromCartesian(cartesian33);
 | 
						||
            var lat = Cesium.Math.toDegrees(cartographic.latitude);
 | 
						||
            var lng = Cesium.Math.toDegrees(cartographic.longitude);
 | 
						||
            var alt = cartographic.height;
 | 
						||
            return { lng: lng, lat: lat, alt: alt };
 | 
						||
        }
 | 
						||
 | 
						||
        class EW {
 | 
						||
            constructor(e, { id, title, positions: r, color: n, height: h, type: t }) {
 | 
						||
                this.icy = e;
 | 
						||
                this.WGS84_to_Cartesian3 = WGS84_to_Cartesian3;
 | 
						||
                this.Cartesian3_to_WGS84 = Cartesian3_to_WGS84;
 | 
						||
                if (t === "wall") {
 | 
						||
                    // let polyCenter2 = Cesium.Cartesian3.fromDegreesArrayHeights(r.flat())
 | 
						||
                    //  var polyCenter = Cesium.BoundingSphere.fromPoints(polyCenter2).center
 | 
						||
                    //  let wgs84Center = this.Cartesian3_to_WGS84(polyCenter)
 | 
						||
                    //  console.log(polyCenter);
 | 
						||
                    //  console.log(wgs84Center);
 | 
						||
                    //  wgs84Center.alt = h
 | 
						||
                    //  polyCenter = this.WGS84_to_Cartesian3(wgs84Center);
 | 
						||
                    //  console.log(polyCenter);
 | 
						||
                    // 外墙
 | 
						||
                    this.entity = this.icy.viewer.entities.add({
 | 
						||
                        name: "外墙",
 | 
						||
                        id: id + "-06",
 | 
						||
                        wall: {
 | 
						||
                            positions: Cesium.Cartesian3.fromDegreesArrayHeights(r.flat()),
 | 
						||
                            maximumHeights: new Array(r.length).fill(20),
 | 
						||
                            minimunHeights: new Array(r.length).fill(20),
 | 
						||
                            // material: Cesium.Color.fromCssColorString(n).withAlpha(0.5)
 | 
						||
                            material: new Cesium.PolylineTrailLinkMaterialProperty({
 | 
						||
                                color: Cesium.Color.fromBytes(201, 118, 243).withAlpha(0.5),
 | 
						||
                                duration: 2000
 | 
						||
                            }, this.icy.viewer)
 | 
						||
                        }
 | 
						||
                    });
 | 
						||
                } else {
 | 
						||
                    this.entity = this.icy.viewer.entities.add({
 | 
						||
                        name: "四色图",
 | 
						||
                        id: id + "-06",
 | 
						||
                        polygon: {
 | 
						||
                            hierarchy: Cesium.Cartesian3.fromDegreesArrayHeights(r.flat()),
 | 
						||
                            material: Cesium.Color.fromCssColorString(n).withAlpha(0.5),
 | 
						||
                            extrudedHeight: h,
 | 
						||
                            outline: true,//设置指定box是否有轮廓的Property 默认false
 | 
						||
                            outlineColor: Cesium.Color.fromCssColorString("#ffffff") //设置轮廓线
 | 
						||
                        }
 | 
						||
                    });
 | 
						||
                    var polyPositions = this.entity.polygon.hierarchy.getValue(Cesium.JulianDate.now()).positions;
 | 
						||
                    var polyCenter = Cesium.BoundingSphere.fromPoints(polyPositions).center;//中心点
 | 
						||
                    let wgs84Center = this.Cartesian3_to_WGS84(polyCenter);
 | 
						||
                    wgs84Center.alt = h;
 | 
						||
                    polyCenter = this.WGS84_to_Cartesian3(wgs84Center);
 | 
						||
                    this.entity.position = polyCenter;
 | 
						||
                    this.entity.label = {
 | 
						||
                        text: title,
 | 
						||
                        fillColor: new Cesium.Color.fromCssColorString("#fff"),
 | 
						||
                        backgroundColor: new Cesium.Color.fromCssColorString("#000000e4"),
 | 
						||
                        font: "normal 32px MicroSoft YaHei",
 | 
						||
                        showBackground: true,
 | 
						||
                        scale: 0.5,
 | 
						||
                        show: false,
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.LEFT_CLICK,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
 | 
						||
                        // disableDepthTestDistance: 10000.0,
 | 
						||
                        outline: true,//设置指定box是否有轮廓的Property 默认false
 | 
						||
                        outlineColor: Cesium.Color.fromCssColorString("#ffffff") //设置轮廓线
 | 
						||
                    };
 | 
						||
                }
 | 
						||
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class j {
 | 
						||
            constructor(e) {
 | 
						||
                this.viewer = e.viewer,
 | 
						||
                  this.icy = e,
 | 
						||
                  this.entity = null,
 | 
						||
                  this.entity1 = null,
 | 
						||
                  this.timer = null
 | 
						||
            }
 | 
						||
 | 
						||
            add(e, t, i, img, id) {
 | 
						||
                this.entity = this.viewer.entities.add({
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(e[0], e[1], e[2]),
 | 
						||
                    name: '圆锥',
 | 
						||
                    id: id + '-07',
 | 
						||
                    cylinder: {
 | 
						||
                        length: i.height, // 设置圆锥的底面直径,因为圆锥没有底部,所以长度为半径的两倍
 | 
						||
                        topRadius: 0, // 设置圆锥的顶点到底面的距离(即圆锥的高度)
 | 
						||
                        bottomRadius: i.width, // 设置圆锥的底面半径为0,即圆锥没有底部
 | 
						||
                        disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                        material: new Cesium.CircleRippleMaterialProperty({
 | 
						||
                            color: new Cesium.Color.fromCssColorString(t),
 | 
						||
                            speed: 10.0,
 | 
						||
                            count: 3,
 | 
						||
                            gradient: 0.5
 | 
						||
                        }),
 | 
						||
                    },
 | 
						||
                })
 | 
						||
                let n = new Image;
 | 
						||
                n.src = img.toDataURL("image/jpg")
 | 
						||
                n.style.borderRadius = '20px'
 | 
						||
                this.entity1 = this.viewer.entities.add({
 | 
						||
                    name: "聚集铭牌",
 | 
						||
                    id: id + '-0701',
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(e[0], e[1], eval(e[2] + i.height / 2)),
 | 
						||
                    billboard: {
 | 
						||
                        image: n,
 | 
						||
                        show: true,
 | 
						||
                        sizeInMeters: false, //图像的尺寸被指定成图像实际的尺寸
 | 
						||
                        scaleByDistance: new Cesium.NearFarScalar(0, 0.5, 10000000, 0.5),//缩放倍数
 | 
						||
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        // disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                        scale: 1
 | 
						||
                    }
 | 
						||
                })
 | 
						||
                this.animate()
 | 
						||
            }
 | 
						||
 | 
						||
            animate() {
 | 
						||
                let fl = 0
 | 
						||
                this.timer = setInterval(() => {
 | 
						||
                    if (this.entity1.billboard.scale >= 1.5) {
 | 
						||
                        fl = 1
 | 
						||
                    } else if (this.entity1.billboard.scale <= 1) {
 | 
						||
                        fl = 0
 | 
						||
                    }
 | 
						||
                    if (fl == 0) {
 | 
						||
                        this.entity1.billboard.scale += 0.05
 | 
						||
                    } else {
 | 
						||
                        this.entity1.billboard.scale -= 0.05
 | 
						||
                    }
 | 
						||
                }, 50)
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
                this.entity1.show = e
 | 
						||
                if (e) {
 | 
						||
                    this.animate()
 | 
						||
                } else {
 | 
						||
                    clearInterval(this.timer)
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                clearInterval(this.timer)
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
 | 
						||
                this.icy.viewer.entities.remove(this.entity1),
 | 
						||
                  this.entity1 = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class H {
 | 
						||
            static {
 | 
						||
                function e() {
 | 
						||
                    I.update(), requestAnimationFrame(e)
 | 
						||
                }
 | 
						||
 | 
						||
                e()
 | 
						||
            }
 | 
						||
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.entity,
 | 
						||
                  this.entity1,
 | 
						||
                  this.entity2,
 | 
						||
                  this.timer = null
 | 
						||
            }
 | 
						||
 | 
						||
            loadCanvas(e, { lon: t, lat: i, height: r, id: id, url: url, floor: f, isCar: q,name:s }) {
 | 
						||
                let n = new Image;
 | 
						||
                n.src = e.toDataURL("image/jpg")
 | 
						||
                this.entity1 = this.icy.viewer.entities.add({
 | 
						||
                    idr: id,
 | 
						||
                    floor: f,
 | 
						||
                    isCar: q,
 | 
						||
                    name: "告警",
 | 
						||
                    show1: true,
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(t, i, r),
 | 
						||
                    billboard: {
 | 
						||
                        // image:new Cesium.GifImageProperty({
 | 
						||
                        //     url: localStorage.getItem('setHttp')+'images/告警.gif'
 | 
						||
                        // }),//加载gif图片
 | 
						||
                        // image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAu9JREFUWEfFV09vEkEU/20NGgMWMClNVCpSY2y8eDFmjZpy8gtoL91GiH/iTb+AaRs/gVc1KQnLRelFP0CrFw6ePPgnNAqWtBrRUsEqlT/bzALLzrCzO0tIOpfdzLx57/d+772ZNxL2eUj7bB+uAGTj8QgajZsApqFpEUhSBJpW0J2QJPJdBfBaVlXyFRpCALKKQgwu6QZFBgE1MrIop1JJJ3FbAB2Pl3SPBxkEiMcTk5PJNksWgwtA9xpYGcQutYeAkKQELyyWAIZmvIvEBkQfgA7teRHPg+cCODjqQfn9Nv5X6vZbOOHoB6AohHbHmEdnIvCFvbrRL2828edt2RmzphXkdPqUWZACkJ2bi+vZ7jC8YS8mZ+iC+Py8gJ3ijtNWsh4z5wMNQND7yVun4Q0cooxVyjVsZtaFQmFmwQAg6v24PIbxSyHdeKnS1L9jowfchcLEgisAJOHO3jljeP7oxW/9/+ENvzH36WnOmQVgQVbVRbKpB2B2lpx0cbsg+i4EEb16zBC5/6ydeI9vB405wYRclVU1xgLI2x21rPdksxUAMu/Igqkaegwoimbnffj6BIInj1AiPADlr1UUM+t8dW4BWJUd0b6c/YtSpYV713x9xj68KqCR45elrKq68+Yc4IZgIhFF4OhhkRo3ZLa3/uH7ctE6ITkMWJ6A5rJjEbBlyK5zE1LTknI6naAZUJR5AAtmJVaJZ163KkMWhGVCcgD0Xb9s2bHKPxbbF9BU2MMND4cF4zi2PYpbl/04f/GEq9izwvm1LVRffutNMxcSC4BiYfnXBu4+kHE8RJefKKKNH1VkUu8QQ++g0psTU6tmex2XajU8ya3h5+6uqE1Kbsrvx5XxEMi3M4wTsDth3ZDU6yvCDag7aNRVTFWBWc/QW7K28j7jXABkwU1rZkvCIE1pV+FQ2nKbjtiWAQpEszmNVmteOC/aXie7d74dQ0IvIyMk5Id9mpG53vOMvISG/zRzl+jupIUZcKdWXHoPjmlrMB9cdeMAAAAASUVORK5CYII=",
 | 
						||
                        width: 35,
 | 
						||
                        height: 35,
 | 
						||
                        show: true,
 | 
						||
                        pixelOffset: new Cesium.Cartesian2(-15, -25), //偏移量
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        disableDepthTestDistance: 5000001,//最高层级显示
 | 
						||
                        scaleByDistance: new Cesium.NearFarScalar(0, 0.8, 10000000, 0.8),//缩放倍数
 | 
						||
                        scale: 1,
 | 
						||
 | 
						||
                    },
 | 
						||
                })
 | 
						||
                // this.entity2 = this.icy.viewer.entities.add({
 | 
						||
                //     idr: id,
 | 
						||
                //     name: "无信号",
 | 
						||
                //     show1: true,
 | 
						||
                //     position: Cesium.Cartesian3.fromDegrees(t, i, r),
 | 
						||
                //     billboard: {
 | 
						||
                //         image: localStorage.getItem('setHttp') + 'images/无信号.png',
 | 
						||
                //         width: 36,
 | 
						||
                //         height: 26,
 | 
						||
                //         show: true,
 | 
						||
                //         pixelOffset: new Cesium.Cartesian2(-18, -35), //偏移量
 | 
						||
                //         disableDepthTestDistance: Number.POSITIVE_INFINITY,
 | 
						||
                //         horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
 | 
						||
                //         verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                //         disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                //         scale: 1,
 | 
						||
                //         distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
 | 
						||
                //             5000,
 | 
						||
                //             100000
 | 
						||
                //           )
 | 
						||
                //     },
 | 
						||
                // })
 | 
						||
                // 缩略图
 | 
						||
                this.entity2 = this.icy.viewer.entities.add({
 | 
						||
                    idr: id,
 | 
						||
                    id: id + '01',
 | 
						||
                    floor: f,
 | 
						||
                    isCar: q,
 | 
						||
                    name: "头像",
 | 
						||
                    show1: true,
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(t, i, r),
 | 
						||
                    billboard: {
 | 
						||
                        image: url,
 | 
						||
                        width: 26,
 | 
						||
                        height: 26,
 | 
						||
                        show: true,
 | 
						||
                        pixelOffset: new Cesium.Cartesian2(-13, 30), //偏移量
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                        scale: 1,
 | 
						||
                        distanceDisplayCondition: new Cesium.DistanceDisplayCondition(50, 1000000), // 缩略图再缩放的时候 根据距离判断显不显示
 | 
						||
                        sizeInMeters: false, //图像的尺寸被指定成图像实际的尺寸
 | 
						||
                        scaleByDistance: new Cesium.NearFarScalar(0, 0.9, 10000000, 0.9),//缩放倍数
 | 
						||
                    },
 | 
						||
                })
 | 
						||
                this.entity = this.icy.viewer.entities.add({
 | 
						||
                    id: id,
 | 
						||
                    floor: f,
 | 
						||
                    isCar: q,
 | 
						||
                    name: s,
 | 
						||
                    typer: false,
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(t, i, r),
 | 
						||
                    billboard: {
 | 
						||
                        image: n,
 | 
						||
                        show: true,
 | 
						||
                        sizeInMeters: false, //图像的尺寸被指定成图像实际的尺寸
 | 
						||
                        scaleByDistance: new Cesium.NearFarScalar(0, 0.5, 10000000, 0.5),//缩放倍数
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        disableDepthTestDistance: 500000,//最高层级显示
 | 
						||
                        scale: 1
 | 
						||
                    }
 | 
						||
                })
 | 
						||
            }
 | 
						||
 | 
						||
            uopdateImg(e, type, floor) {
 | 
						||
                let t = new Image;
 | 
						||
                t.src = e.toDataURL("image/jpg"),
 | 
						||
                    this.entity.billboard.image = t
 | 
						||
                this.entity.typer = type
 | 
						||
                this.entity.floor = floor
 | 
						||
                this.entity1.floor = floor
 | 
						||
                this.entity2.floor = floor
 | 
						||
            }
 | 
						||
 | 
						||
            move(e, t, i) {
 | 
						||
                this.entity.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                this.entity1.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                this.entity2.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
            }
 | 
						||
 | 
						||
            animationMove(e, t, i, r) {
 | 
						||
                if (!this.entity || !this.entity.position)
 | 
						||
                    throw "还没有对象呢!!";
 | 
						||
                let n = this.entity.position, n1 = this.entity1.position, n2 = this.entity2.position
 | 
						||
                  , s = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                  , a = new I.Tween({
 | 
						||
                    x: n._value.x,
 | 
						||
                    y: n._value.y,
 | 
						||
                    z: n._value.z
 | 
						||
                }), b = new I.Tween({
 | 
						||
                    x: n1._value.x,
 | 
						||
                    y: n1._value.y,
 | 
						||
                    z: n1._value.z
 | 
						||
                }), c = new I.Tween({
 | 
						||
                    x: n2._value.x,
 | 
						||
                    y: n2._value.y,
 | 
						||
                    z: n2._value.z
 | 
						||
                });
 | 
						||
                a.to({
 | 
						||
                    x: s.x,
 | 
						||
                    y: s.y,
 | 
						||
                    z: s.z
 | 
						||
                }, r),
 | 
						||
                  a.onUpdate((({ x: e, y: t, z: i }) => {
 | 
						||
                        let r = new Cesium.Cartesian3(e, t, i);
 | 
						||
                        if (!this.entity || !this.entity.position) {
 | 
						||
                            //console.log('触发移动,但未找到实体');
 | 
						||
                            return
 | 
						||
                        } else {
 | 
						||
                            if (this.entity.position == null || !this.entity.position) {
 | 
						||
                                //console.log('触发移动,但未找到实体');
 | 
						||
                                return
 | 
						||
                            }
 | 
						||
                            this.entity.position = r
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  a.start()
 | 
						||
                b.to({
 | 
						||
                    x: s.x,
 | 
						||
                    y: s.y,
 | 
						||
                    z: s.z
 | 
						||
                }, r),
 | 
						||
                  b.onUpdate((({ x: e, y: t, z: i }) => {
 | 
						||
                        let r = new Cesium.Cartesian3(e, t, i);
 | 
						||
                        if (!this.entity1 || !this.entity1.position) {
 | 
						||
                            //console.log('触发移动,但未找到实体');
 | 
						||
                            return
 | 
						||
                        } else {
 | 
						||
                            if (this.entity1.position == null || !this.entity1.position) {
 | 
						||
                                //console.log('触发移动,但未找到实体');
 | 
						||
                                return
 | 
						||
                            }
 | 
						||
                            this.entity1.position = r
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  b.start()
 | 
						||
                c.to({
 | 
						||
                    x: s.x,
 | 
						||
                    y: s.y,
 | 
						||
                    z: s.z
 | 
						||
                }, r),
 | 
						||
                  c.onUpdate((({ x: e, y: t, z: i }) => {
 | 
						||
                        let r = new Cesium.Cartesian3(e, t, i);
 | 
						||
                        if (!this.entity2 || !this.entity2.position) {
 | 
						||
                            //console.log('触发移动,但未找到实体');
 | 
						||
                        } else {
 | 
						||
                            if (this.entity2.position == null || !this.entity2.position) {
 | 
						||
                                //console.log('触发移动,但未找到实体');
 | 
						||
                            }
 | 
						||
                            this.entity2.position = r
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                  )),
 | 
						||
                  c.start()
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
                this.entity1.show =false
 | 
						||
                // if (!e) {
 | 
						||
                //     // this.entity1.show = e
 | 
						||
                //     this.entity2.show = e
 | 
						||
                // } else {
 | 
						||
                //     if (this.entity1.show1) {
 | 
						||
                //         this.entity1.show = e
 | 
						||
                //     }
 | 
						||
                //     // if (this.entity2.show1) {
 | 
						||
                //     //     this.entity2.show = e
 | 
						||
                //     // }
 | 
						||
                // }
 | 
						||
            }
 | 
						||
 | 
						||
            showAlarm(e) {
 | 
						||
                this.entity1.show = e
 | 
						||
                // this.entity1.show1 = e
 | 
						||
            }
 | 
						||
 | 
						||
            showSignal(e) {
 | 
						||
                this.entity2.show = e
 | 
						||
                this.entity2.show1 = e
 | 
						||
            }
 | 
						||
 | 
						||
            animate() {
 | 
						||
                let fl = 0
 | 
						||
                this.timer = setInterval(() => {
 | 
						||
                    if (this.entity1.billboard.scale >= 1.5) {
 | 
						||
                        fl = 1
 | 
						||
                    } else if (this.entity1.billboard.scale <= 1) {
 | 
						||
                        fl = 0
 | 
						||
                    }
 | 
						||
                    if (fl == 0) {
 | 
						||
                        this.entity1.billboard.scale += 0.05
 | 
						||
                    } else {
 | 
						||
                        this.entity1.billboard.scale -= 0.05
 | 
						||
                    }
 | 
						||
                }, 50)
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
 | 
						||
                this.icy.viewer.entities.remove(this.entity1),
 | 
						||
                  this.entity1 = void 0
 | 
						||
 | 
						||
                this.icy.viewer.entities.remove(this.entity2),
 | 
						||
                  this.entity2 = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        class JZ {
 | 
						||
            static {
 | 
						||
                function e() {
 | 
						||
                    I.update(), requestAnimationFrame(e)
 | 
						||
                }
 | 
						||
 | 
						||
                e()
 | 
						||
            }
 | 
						||
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.entity,
 | 
						||
                  this.entity1,
 | 
						||
                  this.entity2
 | 
						||
            }
 | 
						||
 | 
						||
            loadCanvas(e, { lon: t, lat: i, height: r }) {
 | 
						||
                let url = localStorage.getItem('setHttp') + 'images/区域.png'
 | 
						||
                r = Number(r)
 | 
						||
                this.entity = this.icy.viewer.entities.add({
 | 
						||
                    name: e.name,
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(t, i, Number(r + 50)),
 | 
						||
                    // 图标
 | 
						||
                    billboard: {
 | 
						||
                        image: url,
 | 
						||
                        width: 30,
 | 
						||
                        height: 30,
 | 
						||
                    },
 | 
						||
                    label: {
 | 
						||
                        //文字标签
 | 
						||
                        text: e.text,
 | 
						||
                        font: '18px sans-serif',
 | 
						||
                        style: Cesium.LabelStyle.FILL,
 | 
						||
                        // 对齐方式(水平和竖直)
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.CENTER,
 | 
						||
                        pixelOffset: new Cesium.Cartesian2(15, -2),
 | 
						||
                        showBackground: true,
 | 
						||
                        backgroundColor: new Cesium.Color.fromCssColorString("#022c8d50").withAlpha(0.9),
 | 
						||
                        //   backgroundColor: new Cesium.Color.fromBytes(6, 30, 88, 125),
 | 
						||
 | 
						||
                    },
 | 
						||
                });
 | 
						||
 | 
						||
                // 先画线后画点,防止线压盖点
 | 
						||
                let linePositions = [];
 | 
						||
                linePositions.push(new Cesium.Cartesian3.fromDegrees(t, i, r));
 | 
						||
                linePositions.push(new Cesium.Cartesian3.fromDegrees(t, i, Number(r + 50)));
 | 
						||
                this.entity1 = this.icy.viewer.entities.add({
 | 
						||
                    name: e.name,
 | 
						||
                    polyline: {
 | 
						||
                        positions: linePositions,
 | 
						||
                        height: 50,
 | 
						||
                        width: 1.5,
 | 
						||
                        material: e.color,
 | 
						||
                    }
 | 
						||
                })
 | 
						||
 | 
						||
                // 画点
 | 
						||
                this.entity2 = this.icy.viewer.entities.add({
 | 
						||
                    name: e.name,
 | 
						||
                    // 给初始点位设置一定的离地高度,否者会被压盖
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(t, i, r),
 | 
						||
                    point: {
 | 
						||
                        color: e.color,
 | 
						||
                        pixelSize: 15,
 | 
						||
                    }
 | 
						||
                })
 | 
						||
            }
 | 
						||
 | 
						||
            move(e, t, i) {
 | 
						||
                this.entity.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                this.entity1.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
                this.entity2.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
                this.entity1.show = e
 | 
						||
                this.entity2.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            animate() {
 | 
						||
                this.entity.billboard.scale > 1.2 ? this.entity.billboard.scale = 1 : this.entity.billboard.scale += .002
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
 | 
						||
                this.icy.viewer.entities.remove(this.entity1),
 | 
						||
                  this.entity1 = void 0
 | 
						||
 | 
						||
                this.icy.viewer.entities.remove(this.entity2),
 | 
						||
                  this.entity2 = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        var zz = __webpack_require__(117);
 | 
						||
 | 
						||
        class PL {
 | 
						||
            static {
 | 
						||
                function e() {
 | 
						||
                    I.update(), requestAnimationFrame(e)
 | 
						||
                }
 | 
						||
 | 
						||
                e()
 | 
						||
            }
 | 
						||
 | 
						||
            constructor(e) {
 | 
						||
                this.icy = e,
 | 
						||
                  this.entity
 | 
						||
            }
 | 
						||
 | 
						||
            loadCanvas(e) {
 | 
						||
                this.entity = this.icy.viewer.entities.add({
 | 
						||
                    parent: e.parent,
 | 
						||
                    name: e.type,
 | 
						||
                    id: e.idr,
 | 
						||
                    title: e.title,
 | 
						||
                    coor: e.coor,
 | 
						||
                    _icy: {
 | 
						||
                        lon: e.lon, lat: e.lat, alt: e.alt
 | 
						||
                    },
 | 
						||
                    position: Cesium.Cartesian3.fromDegrees(e.lon, e.lat, e.alt),
 | 
						||
                    label: { //文字标签
 | 
						||
                        text: e.name,
 | 
						||
                        font: '500 28px Helvetica',// 15pt monospace
 | 
						||
                        scale: 0.5,
 | 
						||
                        show: e.textShow,
 | 
						||
                        style: Cesium.LabelStyle.FILL,
 | 
						||
                        fillColor: Cesium.Color.WHITE,
 | 
						||
                        pixelOffset: new Cesium.Cartesian2(0, -(e.size.h / 2 + 13)), //偏移量
 | 
						||
                        showBackground: true,
 | 
						||
                        backgroundColor: new Cesium.Color.fromCssColorString('#000000ba'),
 | 
						||
                        disableDepthTestDistance: 600000,//显示级别
 | 
						||
                        distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 100000),
 | 
						||
                    },
 | 
						||
                    billboard: {
 | 
						||
                        image: e.url,
 | 
						||
                        width: e.size.w,
 | 
						||
                        height: e.size.h,
 | 
						||
                        show: true,
 | 
						||
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
 | 
						||
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
 | 
						||
                        disableDepthTestDistance: 600000,
 | 
						||
                        distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 100000),
 | 
						||
                        scale: 0.5,
 | 
						||
                    },
 | 
						||
                });
 | 
						||
            }
 | 
						||
 | 
						||
            move(e, t, i) {
 | 
						||
                this.entity.position = Cesium.Cartesian3.fromDegrees(e, t, i)
 | 
						||
            }
 | 
						||
 | 
						||
            show(e) {
 | 
						||
                this.entity.show = e
 | 
						||
            }
 | 
						||
 | 
						||
            animate() {
 | 
						||
                this.entity.billboard.scale > 1.2 ? this.entity.billboard.scale = 1 : this.entity.billboard.scale += .002
 | 
						||
            }
 | 
						||
 | 
						||
            destroy() {
 | 
						||
                this.icy.viewer.entities.remove(this.entity),
 | 
						||
                  this.entity = void 0
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzNzFlNTg1MC0wOTA0LTQzYzYtOTBjZi05MjIzZjU2NTkzZGQiLCJpZCI6MTE4ODE3LCJpYXQiOjE2NzE1MDY2NjF9.yGR3CbS6VQp2s6Y9NHWOIKq8qKL0sWLZZBZ9eP02Ags"
 | 
						||
    })(), CustomCesium = __webpack_exports__
 | 
						||
})();
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 |