军标库 模型库
This commit is contained in:
@ -15,7 +15,6 @@ import { setSplitDirection, syncSplitData, setActiveId, getSdk } from '../../../
|
|||||||
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../../../Global/global'
|
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../../../Global/global'
|
||||||
|
|
||||||
class Model extends BaseModel {
|
class Model extends BaseModel {
|
||||||
#timeoutEventObject = null
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @description 加载模型
|
* @description 加载模型
|
||||||
@ -88,7 +87,8 @@ class Model extends BaseModel {
|
|||||||
console.warn("lat is required!")
|
console.warn("lat is required!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(this.options.earth) {
|
this._timeoutEventObject = null
|
||||||
|
if (this.options.earth) {
|
||||||
delete this.options.earth
|
delete this.options.earth
|
||||||
}
|
}
|
||||||
this.picking = true
|
this.picking = true
|
||||||
@ -266,8 +266,8 @@ class Model extends BaseModel {
|
|||||||
}, this.entity)
|
}, this.entity)
|
||||||
}
|
}
|
||||||
this.entity.isMove = true
|
this.entity.isMove = true
|
||||||
clearTimeout(this.#timeoutEventObject)
|
clearTimeout(this._timeoutEventObject)
|
||||||
this.#timeoutEventObject = setTimeout(() => {
|
this._timeoutEventObject = setTimeout(() => {
|
||||||
this.entity && (this.entity.isMove = false)
|
this.entity && (this.entity.isMove = false)
|
||||||
}, 500);
|
}, 500);
|
||||||
})
|
})
|
||||||
@ -304,8 +304,8 @@ class Model extends BaseModel {
|
|||||||
}, this.entity)
|
}, this.entity)
|
||||||
}
|
}
|
||||||
this.entity.isMove = true
|
this.entity.isMove = true
|
||||||
clearTimeout(this.#timeoutEventObject)
|
clearTimeout(this._timeoutEventObject)
|
||||||
this.#timeoutEventObject = setTimeout(() => {
|
this._timeoutEventObject = setTimeout(() => {
|
||||||
this.entity && (this.entity.isMove = false)
|
this.entity && (this.entity.isMove = false)
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
@ -462,6 +462,16 @@ class Model extends BaseModel {
|
|||||||
this.options.url = this.options.url || ""
|
this.options.url = this.options.url || ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get name() {
|
||||||
|
return this.options.name
|
||||||
|
}
|
||||||
|
set name(v) {
|
||||||
|
console.log(v, 'vvvvvvvvv')
|
||||||
|
this.options.name = v
|
||||||
|
this.options.label.text = v
|
||||||
|
this.label && (this.label.text = v)
|
||||||
|
}
|
||||||
|
|
||||||
get color() {
|
get color() {
|
||||||
return this.options.color
|
return this.options.color
|
||||||
}
|
}
|
||||||
@ -1659,8 +1669,8 @@ class Model extends BaseModel {
|
|||||||
this.entity.minimumPixelSize = this.scaleByDistance ? undefined : this.options.minimumPixelSize
|
this.entity.minimumPixelSize = this.scaleByDistance ? undefined : this.options.minimumPixelSize
|
||||||
this.editObj && this.editObj.update()
|
this.editObj && this.editObj.update()
|
||||||
this.entity.isMove = true
|
this.entity.isMove = true
|
||||||
clearTimeout(this.#timeoutEventObject)
|
clearTimeout(this._timeoutEventObject)
|
||||||
this.#timeoutEventObject = setTimeout(() => {
|
this._timeoutEventObject = setTimeout(() => {
|
||||||
this.entity && (this.entity.isMove = false)
|
this.entity && (this.entity.isMove = false)
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,8 +60,8 @@ class GroundSvg extends Base {
|
|||||||
* @param options.customView.relativePosition.lat {number} 纬度
|
* @param options.customView.relativePosition.lat {number} 纬度
|
||||||
* @param options.customView.relativePosition.alt {number} 高度
|
* @param options.customView.relativePosition.alt {number} 高度
|
||||||
* */
|
* */
|
||||||
#loadEvent = void 0
|
// #loadEvent = void 0
|
||||||
#loaded = false
|
// #loaded = false
|
||||||
constructor(sdk, options = {}, _Dialog = {}) {
|
constructor(sdk, options = {}, _Dialog = {}) {
|
||||||
super(sdk, options);
|
super(sdk, options);
|
||||||
let jsCode = `
|
let jsCode = `
|
||||||
@ -79,6 +79,9 @@ class GroundSvg extends Base {
|
|||||||
this.loaded = false;
|
this.loaded = false;
|
||||||
this.ismove = false;
|
this.ismove = false;
|
||||||
|
|
||||||
|
this._loadEvent = void 0
|
||||||
|
this._loaded = false
|
||||||
|
|
||||||
if (this.options.position.lat > 83.5) {
|
if (this.options.position.lat > 83.5) {
|
||||||
this.options.position.lat = 83.5
|
this.options.position.lat = 83.5
|
||||||
}
|
}
|
||||||
@ -132,7 +135,7 @@ class GroundSvg extends Base {
|
|||||||
this._isdrag = false
|
this._isdrag = false
|
||||||
this._EventBinding = new EventBinding()
|
this._EventBinding = new EventBinding()
|
||||||
|
|
||||||
if(this.sdk.entityMap.get(this.options.id)) {
|
if (this.sdk.entityMap.get(this.options.id)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.sdk.addIncetance(this.options.id, this)
|
this.sdk.addIncetance(this.options.id, this)
|
||||||
@ -148,7 +151,7 @@ class GroundSvg extends Base {
|
|||||||
this.init()
|
this.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
get type () {
|
get type() {
|
||||||
return 'GroundSvg'
|
return 'GroundSvg'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,8 +187,8 @@ class GroundSvg extends Base {
|
|||||||
set show(v) {
|
set show(v) {
|
||||||
if (typeof v === "boolean") {
|
if (typeof v === "boolean") {
|
||||||
if (this.options.text && this.options.text.show) {
|
if (this.options.text && this.options.text.show) {
|
||||||
if(this.text) {
|
if (this.text) {
|
||||||
if((!this.showView || this.showView == 3)) {
|
if ((!this.showView || this.showView == 3)) {
|
||||||
this.text.show = v
|
this.text.show = v
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -323,7 +326,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
set textValue(v) {
|
set textValue(v) {
|
||||||
this.options.text.value = v
|
this.options.text.value = v
|
||||||
if(this.text) {
|
if (this.text) {
|
||||||
this.text.text = v
|
this.text.text = v
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -340,7 +343,7 @@ class GroundSvg extends Base {
|
|||||||
set textShow(v) {
|
set textShow(v) {
|
||||||
this.options.text.show = v
|
this.options.text.show = v
|
||||||
if (this.show) {
|
if (this.show) {
|
||||||
if((!this.showView || this.showView == 3)) {
|
if ((!this.showView || this.showView == 3)) {
|
||||||
this.text && (this.text.show = v)
|
this.text && (this.text.show = v)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -399,7 +402,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
set textFontSize(v) {
|
set textFontSize(v) {
|
||||||
this.options.text.fontSize = v
|
this.options.text.fontSize = v
|
||||||
if(this.text) {
|
if (this.text) {
|
||||||
this.text.fontSize = v
|
this.text.fontSize = v
|
||||||
this.text.pixelOffset = v
|
this.text.pixelOffset = v
|
||||||
}
|
}
|
||||||
@ -866,7 +869,7 @@ class GroundSvg extends Base {
|
|||||||
for (let m = 0; m < this.hierarchys[i].length; m++) {
|
for (let m = 0; m < this.hierarchys[i].length; m++) {
|
||||||
let id = this.options.id + `-${i}_${m}}`
|
let id = this.options.id + `-${i}_${m}}`
|
||||||
let oldEntity = this.sdk.viewer.entities.getById(id)
|
let oldEntity = this.sdk.viewer.entities.getById(id)
|
||||||
if(oldEntity) {
|
if (oldEntity) {
|
||||||
this.sdk.viewer.entities.remove(oldEntity)
|
this.sdk.viewer.entities.remove(oldEntity)
|
||||||
}
|
}
|
||||||
let entity = this.sdk.viewer.entities.add({
|
let entity = this.sdk.viewer.entities.add({
|
||||||
@ -908,9 +911,9 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.loaded = true
|
this.loaded = true
|
||||||
this.#loaded = true
|
this._loaded = true
|
||||||
if (this.#loadEvent) {
|
if (this._loadEvent) {
|
||||||
this.#loadEvent()
|
this._loadEvent()
|
||||||
}
|
}
|
||||||
this.scale = this.scale
|
this.scale = this.scale
|
||||||
GroundSvg.createText(this)
|
GroundSvg.createText(this)
|
||||||
@ -954,7 +957,7 @@ class GroundSvg extends Base {
|
|||||||
* @param {boolean} status=false 状态
|
* @param {boolean} status=false 状态
|
||||||
*/
|
*/
|
||||||
async edit(state) {
|
async edit(state) {
|
||||||
if (!this.#loaded) {
|
if (!this._loaded) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.originalOptions = this.deepCopyObj(this.options)
|
this.originalOptions = this.deepCopyObj(this.options)
|
||||||
@ -1210,7 +1213,7 @@ class GroundSvg extends Base {
|
|||||||
* 重置
|
* 重置
|
||||||
*/
|
*/
|
||||||
reset() {
|
reset() {
|
||||||
if (!this.#loaded) {
|
if (!this._loaded) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.options = this.deepCopyObj(this.originalOptions)
|
this.options = this.deepCopyObj(this.originalOptions)
|
||||||
@ -1238,7 +1241,7 @@ class GroundSvg extends Base {
|
|||||||
* @param {boolean} status=false 状态
|
* @param {boolean} status=false 状态
|
||||||
*/
|
*/
|
||||||
drag(status, cd) {
|
drag(status, cd) {
|
||||||
if (!this.#loaded || !this.sdk || !this.sdk.viewer) {
|
if (!this._loaded || !this.sdk || !this.sdk.viewer) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.ismove = false
|
this.ismove = false
|
||||||
@ -1321,26 +1324,26 @@ class GroundSvg extends Base {
|
|||||||
angleH = bearing2 - bearingH
|
angleH = bearing2 - bearingH
|
||||||
if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) {
|
if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) {
|
||||||
angleW = angleW + 180
|
angleW = angleW + 180
|
||||||
flag=true
|
flag = true
|
||||||
}
|
}
|
||||||
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
||||||
angleH = angleH + 180
|
angleH = angleH + 180
|
||||||
flag2=true
|
flag2 = true
|
||||||
}
|
}
|
||||||
if(flag && flag2) {
|
if (flag && flag2) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(flag) {
|
if (flag) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
}
|
}
|
||||||
else if(flag2) {
|
else if (flag2) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||||
@ -1393,26 +1396,26 @@ class GroundSvg extends Base {
|
|||||||
|
|
||||||
if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) {
|
if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) {
|
||||||
angleW = angleW + 180
|
angleW = angleW + 180
|
||||||
flag=true
|
flag = true
|
||||||
}
|
}
|
||||||
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
||||||
angleH = angleH + 180
|
angleH = angleH + 180
|
||||||
flag2=true
|
flag2 = true
|
||||||
}
|
}
|
||||||
if(flag && flag2) {
|
if (flag && flag2) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||||
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(flag) {
|
if (flag) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
}
|
}
|
||||||
else if(flag2) {
|
else if (flag2) {
|
||||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||||
@ -1597,11 +1600,11 @@ class GroundSvg extends Base {
|
|||||||
|
|
||||||
this.ScreenSpaceEventHandler.setInputAction((movement) => {
|
this.ScreenSpaceEventHandler.setInputAction((movement) => {
|
||||||
this.drag(false)
|
this.drag(false)
|
||||||
if (!this._DialogObject) {
|
// if (!this._DialogObject) {
|
||||||
cd && cd(this.options)
|
cd && cd(this.options)
|
||||||
syncData(this.sdk, this.options.id)
|
syncData(this.sdk, this.options.id)
|
||||||
syncSplitData(this.sdk, this.options.id)
|
syncSplitData(this.sdk, this.options.id)
|
||||||
}
|
// }
|
||||||
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||||
|
|
||||||
this.pointEntityCollection = new Cesium.EntityCollection()
|
this.pointEntityCollection = new Cesium.EntityCollection()
|
||||||
@ -1628,7 +1631,7 @@ class GroundSvg extends Base {
|
|||||||
controlPoints[9] = turf.destination(point, wh, 0 + angle, options).geometry.coordinates
|
controlPoints[9] = turf.destination(point, wh, 0 + angle, options).geometry.coordinates
|
||||||
|
|
||||||
this.controlPoints = controlPoints
|
this.controlPoints = controlPoints
|
||||||
if(!this.sdk || !this.sdk.viewer) {
|
if (!this.sdk || !this.sdk.viewer) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for (let i = 0; i < this.controlPoints.length; i++) {
|
for (let i = 0; i < this.controlPoints.length; i++) {
|
||||||
@ -1706,7 +1709,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateGeojson(data, x, y) {
|
_updateGeojson(data, x, y) {
|
||||||
if (!this.#loaded) {
|
if (!this._loaded) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let width = Math.abs(this.bbox[0] - this.bbox[2])
|
let width = Math.abs(this.bbox[0] - this.bbox[2])
|
||||||
@ -1727,7 +1730,7 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_update() {
|
_update() {
|
||||||
if (!this.#loaded) {
|
if (!this._loaded) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let point = turf.point([this.position.lng, this.position.lat]);
|
let point = turf.point([this.position.lng, this.position.lat]);
|
||||||
@ -2110,22 +2113,22 @@ class GroundSvg extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
load(callback) {
|
load(callback) {
|
||||||
if (this.#loaded) {
|
if (this._loaded) {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.#loadEvent = callback
|
this._loadEvent = callback
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async remove() {
|
async remove() {
|
||||||
this._worker.onmessage = (event) => {}
|
this._worker.onmessage = (event) => { }
|
||||||
await this.sdk.removeIncetance(this.options.id)
|
await this.sdk.removeIncetance(this.options.id)
|
||||||
if (!this.entity) {
|
if (!this.entity) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.drag(false)
|
this.drag(false)
|
||||||
if(!this.sdk || !this.sdk.viewer) {
|
if (!this.sdk || !this.sdk.viewer) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.sdk.viewer.entities.remove(this.entity)
|
this.sdk.viewer.entities.remove(this.entity)
|
||||||
@ -2235,7 +2238,7 @@ class GroundSvg extends Base {
|
|||||||
else {
|
else {
|
||||||
let array = []
|
let array = []
|
||||||
for (let i = 0; i < this.controlPoints.length; i++) {
|
for (let i = 0; i < this.controlPoints.length; i++) {
|
||||||
let height = await this.getClampToHeight({lng: this.controlPoints[i][0], lat: this.controlPoints[i][1]})
|
let height = await this.getClampToHeight({ lng: this.controlPoints[i][0], lat: this.controlPoints[i][1] })
|
||||||
let cartesian = Cesium.Cartesian3.fromDegrees(this.controlPoints[i][0], this.controlPoints[i][1], height)
|
let cartesian = Cesium.Cartesian3.fromDegrees(this.controlPoints[i][0], this.controlPoints[i][1], height)
|
||||||
array.push(cartesian.x, cartesian.y, cartesian.z)
|
array.push(cartesian.x, cartesian.y, cartesian.z)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user