Merge branch 'master' of http://xny.yj-3d.com:3000/zh/sdk4.0_new
This commit is contained in:
@ -12,8 +12,8 @@ let repeat = 0
|
||||
let currentRepeat = 0
|
||||
|
||||
|
||||
const open = async (sdk, options = {}, _Dialog = {}) => {
|
||||
let name = options.name || '飞线漫游'
|
||||
const open = async (sdk, options = {}, _Dialog = {}, func) => {
|
||||
let name = options.name || '漫游路径'
|
||||
options.points || (options.points = [])
|
||||
if (options.repeat) {
|
||||
repeat = Number(options.repeat)
|
||||
@ -74,8 +74,9 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
||||
name = nameElm.value
|
||||
})
|
||||
|
||||
let addListBtn = document.createElement('button');
|
||||
addListBtn.innerHTML = '保存'
|
||||
// let addListBtn = document.createElement('button');
|
||||
let addListBtn = document.getElementsByClassName('saveRoam')[0];
|
||||
// addListBtn.innerHTML = '保存'
|
||||
addListBtn.addEventListener('click', () => {
|
||||
if (!name) {
|
||||
name = '漫游路径'
|
||||
@ -85,6 +86,12 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
||||
points.map((item) => {
|
||||
newPoints.push(item)
|
||||
})
|
||||
|
||||
func({
|
||||
name: name,
|
||||
points: newPoints,
|
||||
repeat: repeat + ''
|
||||
})
|
||||
// _Dialog.clickSavePath && _Dialog.clickSavePath(
|
||||
// {
|
||||
// name: name,
|
||||
@ -124,20 +131,20 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
||||
addTrElm(data)
|
||||
i++
|
||||
})
|
||||
let modifyBtn = contentElm.getElementsByClassName('modify-point')[0]
|
||||
modifyBtn.addEventListener('click', () => {
|
||||
if (!active) {
|
||||
return
|
||||
}
|
||||
let position = tools.cartesian3Towgs84(viewer.camera.position, viewer)
|
||||
points[active - 1].position = position
|
||||
points[active - 1].orientation = {
|
||||
heading: viewer.camera.heading,
|
||||
pitch: viewer.camera.pitch,
|
||||
roll: viewer.camera.roll
|
||||
}
|
||||
tools.message({ text: '操作成功' })
|
||||
})
|
||||
// let modifyBtn = contentElm.getElementsByClassName('modify-point')[0]
|
||||
// modifyBtn.addEventListener('click', () => {
|
||||
// if (!active) {
|
||||
// return
|
||||
// }
|
||||
// let position = tools.cartesian3Towgs84(viewer.camera.position, viewer)
|
||||
// points[active - 1].position = position
|
||||
// points[active - 1].orientation = {
|
||||
// heading: viewer.camera.heading,
|
||||
// pitch: viewer.camera.pitch,
|
||||
// roll: viewer.camera.roll
|
||||
// }
|
||||
// tools.message({ text: '操作成功' })
|
||||
// })
|
||||
|
||||
let totalTimeElm = contentElm.querySelector("input[name='totalTime']")
|
||||
let isTotalTimeElm = contentElm.querySelector("input[name='isTotalTime']")
|
||||
@ -287,11 +294,13 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
||||
// }
|
||||
})
|
||||
e_time.addEventListener('input', (v) => {
|
||||
console.log(isTotalTimeElm, 'isTotalTimeElm')
|
||||
isTotalTimeElm.checked = false
|
||||
data.duration = Number(e_time.value)
|
||||
if (data.duration < 0) {
|
||||
data.duration = 0
|
||||
}
|
||||
console.log(data.duration, 'duration')
|
||||
})
|
||||
e_time.addEventListener('blur', () => {
|
||||
e_time.value = Number(Number(e_time.value).toFixed(2))
|
||||
@ -325,6 +334,7 @@ const close = () => {
|
||||
}
|
||||
|
||||
const executeFlyTo = (sdk, points = [], index = 0, noStart) => {
|
||||
console.log(noStart, points, 'noStart')
|
||||
if (clickHandler) {
|
||||
clickHandler.destroy()
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ const convertToImage = (container, options = {}) => {
|
||||
useCORS: true,//允许跨域
|
||||
allowTaint: false, //允许跨域数据污染'被污染'的canvas
|
||||
tainttest: true,
|
||||
foreignObjectRendering: true, //在浏览器支持的情况下使用ForeignObject模式渲染图片
|
||||
foreignObjectRendering: true, //在浏览器支持的情况下使用ForeignObject模式渲染图片
|
||||
...options
|
||||
};
|
||||
|
||||
@ -241,11 +241,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
||||
start() {
|
||||
if (sdk.viewer.scene.imageryLayers._layers.length <= 1) {
|
||||
this.error = '未加载底图!'
|
||||
window.ELEMENT && window.ELEMENT.Message({
|
||||
message: this.error,
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
});
|
||||
// window.ELEMENT && window.ELEMENT.Message({
|
||||
// message: this.error,
|
||||
// type: 'warning',
|
||||
// duration: 1500
|
||||
// });
|
||||
tools.message({ type: 'warning', text: this.error })
|
||||
console.warn(this.error)
|
||||
return
|
||||
}
|
||||
@ -258,11 +259,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
||||
}
|
||||
if (!haveBaseMap) {
|
||||
this.error = '未加载底图!'
|
||||
window.ELEMENT && window.ELEMENT.Message({
|
||||
message: this.error,
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
});
|
||||
// window.ELEMENT && window.ELEMENT.Message({
|
||||
// message: this.error,
|
||||
// type: 'warning',
|
||||
// duration: 1500
|
||||
// });
|
||||
tools.message({ type: 'warning', text: this.error })
|
||||
console.warn(this.error)
|
||||
return
|
||||
}
|
||||
@ -327,11 +329,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
||||
if (!layer) {
|
||||
if (!flag) {
|
||||
_this.error = '当前范围内未找到底图数据!'
|
||||
window.ELEMENT && window.ELEMENT.Message({
|
||||
message: _this.error,
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
});
|
||||
// window.ELEMENT && window.ELEMENT.Message({
|
||||
// message: _this.error,
|
||||
// type: 'warning',
|
||||
// duration: 1500
|
||||
// });
|
||||
tools.message({ type: 'warning', text: _this.error })
|
||||
console.warn(_this.error)
|
||||
}
|
||||
return
|
||||
@ -372,11 +375,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
||||
);
|
||||
if (!MinTile || !MaxTile) {
|
||||
let error = '超出地球范围!'
|
||||
window.ELEMENT && window.ELEMENT.Message({
|
||||
message: error,
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
});
|
||||
// window.ELEMENT && window.ELEMENT.Message({
|
||||
// message: error,
|
||||
// type: 'warning',
|
||||
// duration: 1500
|
||||
// });
|
||||
tools.message({ type: 'warning', text: error })
|
||||
console.warn(error)
|
||||
return
|
||||
}
|
||||
@ -704,4 +708,4 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
||||
|
||||
}
|
||||
|
||||
export { ScreenShot, ScreenShotHD }
|
||||
export { ScreenShot, ScreenShotHD }
|
||||
|
||||
@ -2,7 +2,7 @@ import Tools from "../../../Tools";
|
||||
class Section extends Tools {
|
||||
/**
|
||||
* @constructor 剖切
|
||||
* @param sdk
|
||||
* @param sdk
|
||||
* @param tiles3d {object} 3dtiles对象
|
||||
* @param {Array.<object>} options.positions 经纬度[{lon,lat,alt},...]
|
||||
* @param options.regionsType=false 裁剪类型 false:裁剪内部,true:裁剪外部
|
||||
@ -17,6 +17,7 @@ class Section extends Tools {
|
||||
this.options.regionsType = this.options.regionsType || false
|
||||
YJ.Analysis.SectionResults.push(this)
|
||||
this.Planes = []
|
||||
this.tools = new Tools();
|
||||
Section.start(this)
|
||||
}
|
||||
|
||||
@ -33,12 +34,13 @@ class Section extends Tools {
|
||||
|
||||
static start(that) {
|
||||
let positions = that.options.positions || []
|
||||
if(!that.isConvex(positions)) {
|
||||
window.ELEMENT && window.ELEMENT.Message({
|
||||
message: '不支持凹多边形',
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
});
|
||||
if (!that.isConvex(positions)) {
|
||||
// window.ELEMENT && window.ELEMENT.Message({
|
||||
// message: '不支持凹多边形',
|
||||
// type: 'warning',
|
||||
// duration: 1500
|
||||
// });
|
||||
that.tools.message({ type: 'warning', text: '不支持凹多边形' })
|
||||
console.log('不支持凹多边形')
|
||||
return
|
||||
}
|
||||
@ -87,13 +89,13 @@ class Section extends Tools {
|
||||
}
|
||||
}
|
||||
|
||||
if(that.tiles3d.clippingPlanes) {
|
||||
if (that.tiles3d.clippingPlanes) {
|
||||
that.tiles3d.clippingPlanes.removeAll()
|
||||
for(let i=0;i<that.Planes.length;i++) {
|
||||
for (let i = 0; i < that.Planes.length; i++) {
|
||||
that.tiles3d.clippingPlanes.add(that.Planes[i])
|
||||
}
|
||||
that.tiles3d.clippingPlanes.enabled = true
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
const PlaneCollection = new Cesium.ClippingPlaneCollection({
|
||||
@ -135,11 +137,11 @@ class Section extends Tools {
|
||||
destroy() {
|
||||
this.Planes = []
|
||||
// this.tiles3d.clippingPlanes = new Cesium.ClippingPlaneCollection()
|
||||
if(this.tiles3d.clippingPlanes) {
|
||||
if (this.tiles3d.clippingPlanes) {
|
||||
this.tiles3d.clippingPlanes.enabled = false
|
||||
this.tiles3d.clippingPlanes.removeAll()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Section;
|
||||
export default Section;
|
||||
|
||||
@ -158,7 +158,8 @@ class TerrainExcavation extends Tools {
|
||||
return
|
||||
}
|
||||
if (!this.isConvex(positions)) {
|
||||
this.tools.message({ type: 'warning', text: '至少拥有三个坐标位置!' })
|
||||
// this.tools.message({ type: 'warning', text: '至少拥有三个坐标位置!' })
|
||||
this.tools.message({ type: 'warning', text: '不支持凹多边形' })
|
||||
console.log('不支持凹多边形')
|
||||
return
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ function html(that) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="lable-left-line">
|
||||
<span>缩放</span>
|
||||
@ -177,7 +177,7 @@ function html(that) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</DIV-cy-tab-pane>
|
||||
<DIV-cy-tab-pane label="标注风格">
|
||||
@ -193,4 +193,4 @@ function html(that) {
|
||||
`
|
||||
}
|
||||
|
||||
export { html }
|
||||
export { html }
|
||||
|
||||
@ -15,7 +15,6 @@ import { setSplitDirection, syncSplitData, setActiveId, getSdk } from '../../../
|
||||
import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../../../Global/global'
|
||||
|
||||
class Model extends BaseModel {
|
||||
#timeoutEventObject = null
|
||||
/**
|
||||
* @constructor
|
||||
* @description 加载模型
|
||||
@ -88,7 +87,8 @@ class Model extends BaseModel {
|
||||
console.warn("lat is required!")
|
||||
return
|
||||
}
|
||||
if(this.options.earth) {
|
||||
this._timeoutEventObject = null
|
||||
if (this.options.earth) {
|
||||
delete this.options.earth
|
||||
}
|
||||
this.picking = true
|
||||
@ -266,8 +266,8 @@ class Model extends BaseModel {
|
||||
}, this.entity)
|
||||
}
|
||||
this.entity.isMove = true
|
||||
clearTimeout(this.#timeoutEventObject)
|
||||
this.#timeoutEventObject = setTimeout(() => {
|
||||
clearTimeout(this._timeoutEventObject)
|
||||
this._timeoutEventObject = setTimeout(() => {
|
||||
this.entity && (this.entity.isMove = false)
|
||||
}, 500);
|
||||
})
|
||||
@ -304,8 +304,8 @@ class Model extends BaseModel {
|
||||
}, this.entity)
|
||||
}
|
||||
this.entity.isMove = true
|
||||
clearTimeout(this.#timeoutEventObject)
|
||||
this.#timeoutEventObject = setTimeout(() => {
|
||||
clearTimeout(this._timeoutEventObject)
|
||||
this._timeoutEventObject = setTimeout(() => {
|
||||
this.entity && (this.entity.isMove = false)
|
||||
}, 500);
|
||||
|
||||
@ -321,7 +321,7 @@ class Model extends BaseModel {
|
||||
this.modelAnimations = this.entity.loader.components.animations
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
syncSplitData(this.sdk, this.options.id)
|
||||
}
|
||||
|
||||
@ -462,6 +462,16 @@ class Model extends BaseModel {
|
||||
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() {
|
||||
return this.options.color
|
||||
}
|
||||
@ -1659,8 +1669,8 @@ class Model extends BaseModel {
|
||||
this.entity.minimumPixelSize = this.scaleByDistance ? undefined : this.options.minimumPixelSize
|
||||
this.editObj && this.editObj.update()
|
||||
this.entity.isMove = true
|
||||
clearTimeout(this.#timeoutEventObject)
|
||||
this.#timeoutEventObject = setTimeout(() => {
|
||||
clearTimeout(this._timeoutEventObject)
|
||||
this._timeoutEventObject = setTimeout(() => {
|
||||
this.entity && (this.entity.isMove = false)
|
||||
}, 500);
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ import { setSplitDirection, syncSplitData, setActiveId } from '../../../Global/S
|
||||
class GroundSvg extends Base {
|
||||
/**
|
||||
* @constructor
|
||||
* @param sdk
|
||||
* @param sdk
|
||||
* @description 贴地svg
|
||||
* @param options {object} 属性
|
||||
* @param options.id {string} 唯一标识
|
||||
@ -60,8 +60,8 @@ class GroundSvg extends Base {
|
||||
* @param options.customView.relativePosition.lat {number} 纬度
|
||||
* @param options.customView.relativePosition.alt {number} 高度
|
||||
* */
|
||||
#loadEvent = void 0
|
||||
#loaded = false
|
||||
// #loadEvent = void 0
|
||||
// #loaded = false
|
||||
constructor(sdk, options = {}, _Dialog = {}) {
|
||||
super(sdk, options);
|
||||
let jsCode = `
|
||||
@ -79,6 +79,9 @@ class GroundSvg extends Base {
|
||||
this.loaded = false;
|
||||
this.ismove = false;
|
||||
|
||||
this._loadEvent = void 0
|
||||
this._loaded = false
|
||||
|
||||
if (this.options.position.lat > 83.5) {
|
||||
this.options.position.lat = 83.5
|
||||
}
|
||||
@ -132,23 +135,23 @@ class GroundSvg extends Base {
|
||||
this._isdrag = false
|
||||
this._EventBinding = new EventBinding()
|
||||
|
||||
if(this.sdk.entityMap.get(this.options.id)) {
|
||||
if (this.sdk.entityMap.get(this.options.id)) {
|
||||
return
|
||||
}
|
||||
this.sdk.addIncetance(this.options.id, this)
|
||||
this.picking = true
|
||||
|
||||
|
||||
|
||||
if (this.options.show) {
|
||||
setSplitDirection(0, this.options.id)
|
||||
}
|
||||
|
||||
this._entityArray = []
|
||||
|
||||
|
||||
this.init()
|
||||
}
|
||||
|
||||
get type () {
|
||||
get type() {
|
||||
return 'GroundSvg'
|
||||
}
|
||||
|
||||
@ -184,15 +187,15 @@ class GroundSvg extends Base {
|
||||
set show(v) {
|
||||
if (typeof v === "boolean") {
|
||||
if (this.options.text && this.options.text.show) {
|
||||
if(this.text) {
|
||||
if((!this.showView || this.showView == 3)) {
|
||||
if (this.text) {
|
||||
if ((!this.showView || this.showView == 3)) {
|
||||
this.text.show = v
|
||||
}
|
||||
else {
|
||||
this.text.show = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
super.show = v
|
||||
} else {
|
||||
@ -323,7 +326,7 @@ class GroundSvg extends Base {
|
||||
}
|
||||
set textValue(v) {
|
||||
this.options.text.value = v
|
||||
if(this.text) {
|
||||
if (this.text) {
|
||||
this.text.text = v
|
||||
}
|
||||
else {
|
||||
@ -340,7 +343,7 @@ class GroundSvg extends Base {
|
||||
set textShow(v) {
|
||||
this.options.text.show = v
|
||||
if (this.show) {
|
||||
if((!this.showView || this.showView == 3)) {
|
||||
if ((!this.showView || this.showView == 3)) {
|
||||
this.text && (this.text.show = v)
|
||||
}
|
||||
else {
|
||||
@ -399,7 +402,7 @@ class GroundSvg extends Base {
|
||||
}
|
||||
set textFontSize(v) {
|
||||
this.options.text.fontSize = v
|
||||
if(this.text) {
|
||||
if (this.text) {
|
||||
this.text.fontSize = v
|
||||
this.text.pixelOffset = v
|
||||
}
|
||||
@ -729,7 +732,7 @@ class GroundSvg extends Base {
|
||||
let position = []
|
||||
let geometry = geometryArray[key].geometry;
|
||||
let array = geometry.attributes.position.array
|
||||
|
||||
|
||||
for (let i = 0; i < array.length; i += 3) {
|
||||
let x = array[i] - (max2 / 2)
|
||||
let y = array[i + 1] + (max2 / 2)
|
||||
@ -746,8 +749,8 @@ class GroundSvg extends Base {
|
||||
positions.push([position[i], position[i + 1], position[i + 2]])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
let polygons = []
|
||||
// 组合多边形
|
||||
for (let i = 0; i < positions.length; i++) {
|
||||
@ -756,7 +759,7 @@ class GroundSvg extends Base {
|
||||
positions[i][0]
|
||||
]]);
|
||||
polygons.push(polygon)
|
||||
|
||||
|
||||
if (feature) {
|
||||
feature = turf.union(feature, polygon);
|
||||
}
|
||||
@ -856,7 +859,7 @@ class GroundSvg extends Base {
|
||||
this.hierarchys.push(array)
|
||||
});
|
||||
this.entity = new Cesium.EntityCollection()
|
||||
|
||||
|
||||
syncSplitData(this.sdk, this.options.id)
|
||||
let perPositionHeight = false
|
||||
if (this.sdk.viewer._element.className === 'cesium-viewer 2d') {
|
||||
@ -866,7 +869,7 @@ class GroundSvg extends Base {
|
||||
for (let m = 0; m < this.hierarchys[i].length; m++) {
|
||||
let id = this.options.id + `-${i}_${m}}`
|
||||
let oldEntity = this.sdk.viewer.entities.getById(id)
|
||||
if(oldEntity) {
|
||||
if (oldEntity) {
|
||||
this.sdk.viewer.entities.remove(oldEntity)
|
||||
}
|
||||
let entity = this.sdk.viewer.entities.add({
|
||||
@ -908,9 +911,9 @@ class GroundSvg extends Base {
|
||||
}
|
||||
}
|
||||
this.loaded = true
|
||||
this.#loaded = true
|
||||
if (this.#loadEvent) {
|
||||
this.#loadEvent()
|
||||
this._loaded = true
|
||||
if (this._loadEvent) {
|
||||
this._loadEvent()
|
||||
}
|
||||
this.scale = this.scale
|
||||
GroundSvg.createText(this)
|
||||
@ -954,7 +957,7 @@ class GroundSvg extends Base {
|
||||
* @param {boolean} status=false 状态
|
||||
*/
|
||||
async edit(state) {
|
||||
if (!this.#loaded) {
|
||||
if (!this._loaded) {
|
||||
return
|
||||
}
|
||||
this.originalOptions = this.deepCopyObj(this.options)
|
||||
@ -1210,7 +1213,7 @@ class GroundSvg extends Base {
|
||||
* 重置
|
||||
*/
|
||||
reset() {
|
||||
if (!this.#loaded) {
|
||||
if (!this._loaded) {
|
||||
return
|
||||
}
|
||||
this.options = this.deepCopyObj(this.originalOptions)
|
||||
@ -1238,7 +1241,7 @@ class GroundSvg extends Base {
|
||||
* @param {boolean} status=false 状态
|
||||
*/
|
||||
drag(status, cd) {
|
||||
if (!this.#loaded || !this.sdk || !this.sdk.viewer) {
|
||||
if (!this._loaded || !this.sdk || !this.sdk.viewer) {
|
||||
return
|
||||
}
|
||||
this.ismove = false
|
||||
@ -1321,26 +1324,26 @@ class GroundSvg extends Base {
|
||||
angleH = bearing2 - bearingH
|
||||
if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) {
|
||||
angleW = angleW + 180
|
||||
flag=true
|
||||
flag = true
|
||||
}
|
||||
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
||||
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[3].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')
|
||||
}
|
||||
else {
|
||||
if(flag) {
|
||||
if (flag) {
|
||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||
this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||
this.pointEntityCollection.values[7].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[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||
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)) {
|
||||
angleW = angleW + 180
|
||||
flag=true
|
||||
flag = true
|
||||
}
|
||||
if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) {
|
||||
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[3].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||
this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||
this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a')
|
||||
}
|
||||
else {
|
||||
if(flag) {
|
||||
if (flag) {
|
||||
this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000')
|
||||
this.pointEntityCollection.values[3].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')
|
||||
}
|
||||
else if(flag2) {
|
||||
else if (flag2) {
|
||||
this.pointEntityCollection.values[1].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')
|
||||
@ -1597,11 +1600,11 @@ class GroundSvg extends Base {
|
||||
|
||||
this.ScreenSpaceEventHandler.setInputAction((movement) => {
|
||||
this.drag(false)
|
||||
if (!this._DialogObject) {
|
||||
cd && cd(this.options)
|
||||
syncData(this.sdk, this.options.id)
|
||||
syncSplitData(this.sdk, this.options.id)
|
||||
}
|
||||
// if (!this._DialogObject) {
|
||||
cd && cd(this.options)
|
||||
syncData(this.sdk, this.options.id)
|
||||
syncSplitData(this.sdk, this.options.id)
|
||||
// }
|
||||
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
|
||||
|
||||
this.pointEntityCollection = new Cesium.EntityCollection()
|
||||
@ -1628,7 +1631,7 @@ class GroundSvg extends Base {
|
||||
controlPoints[9] = turf.destination(point, wh, 0 + angle, options).geometry.coordinates
|
||||
|
||||
this.controlPoints = controlPoints
|
||||
if(!this.sdk || !this.sdk.viewer) {
|
||||
if (!this.sdk || !this.sdk.viewer) {
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < this.controlPoints.length; i++) {
|
||||
@ -1706,7 +1709,7 @@ class GroundSvg extends Base {
|
||||
}
|
||||
|
||||
_updateGeojson(data, x, y) {
|
||||
if (!this.#loaded) {
|
||||
if (!this._loaded) {
|
||||
return
|
||||
}
|
||||
let width = Math.abs(this.bbox[0] - this.bbox[2])
|
||||
@ -1727,7 +1730,7 @@ class GroundSvg extends Base {
|
||||
}
|
||||
|
||||
_update() {
|
||||
if (!this.#loaded) {
|
||||
if (!this._loaded) {
|
||||
return
|
||||
}
|
||||
let point = turf.point([this.position.lng, this.position.lat]);
|
||||
@ -2110,22 +2113,22 @@ class GroundSvg extends Base {
|
||||
}
|
||||
|
||||
load(callback) {
|
||||
if (this.#loaded) {
|
||||
if (this._loaded) {
|
||||
callback();
|
||||
}
|
||||
else {
|
||||
this.#loadEvent = callback
|
||||
this._loadEvent = callback
|
||||
}
|
||||
}
|
||||
|
||||
async remove() {
|
||||
this._worker.onmessage = (event) => {}
|
||||
this._worker.onmessage = (event) => { }
|
||||
await this.sdk.removeIncetance(this.options.id)
|
||||
if (!this.entity) {
|
||||
return
|
||||
}
|
||||
this.drag(false)
|
||||
if(!this.sdk || !this.sdk.viewer) {
|
||||
if (!this.sdk || !this.sdk.viewer) {
|
||||
return
|
||||
}
|
||||
this.sdk.viewer.entities.remove(this.entity)
|
||||
@ -2137,7 +2140,7 @@ class GroundSvg extends Base {
|
||||
this._DialogObject.close()
|
||||
this._DialogObject = null
|
||||
}
|
||||
|
||||
|
||||
await syncData(this.sdk, this.options.id)
|
||||
}
|
||||
|
||||
@ -2235,7 +2238,7 @@ class GroundSvg extends Base {
|
||||
else {
|
||||
let array = []
|
||||
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)
|
||||
array.push(cartesian.x, cartesian.y, cartesian.z)
|
||||
}
|
||||
@ -2252,4 +2255,4 @@ class GroundSvg extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
export default GroundSvg
|
||||
export default GroundSvg
|
||||
|
||||
@ -970,12 +970,16 @@ class Tools {
|
||||
return canvas.toDataURL()
|
||||
}
|
||||
|
||||
sampleHeightMostDetailed(positions) {
|
||||
sampleHeightMostDetailed(positions, sdk) {
|
||||
let cartesians = []
|
||||
positions.forEach((item) => {
|
||||
cartesians.push(new Cesium.Cartographic.fromDegrees(item.lng, item.lat))
|
||||
})
|
||||
return this.sdk.viewer.scene.sampleHeightMostDetailed(cartesians)
|
||||
if (sdk) {
|
||||
return sdk.viewer.scene.sampleHeightMostDetailed(cartesians)
|
||||
} else {
|
||||
return this.sdk.viewer.scene.sampleHeightMostDetailed(cartesians)
|
||||
}
|
||||
}
|
||||
|
||||
flyHome(duration = 3) {
|
||||
|
||||
@ -93,21 +93,62 @@ const open = async (sdk, closeCallBack) => {
|
||||
legpObjectLeft.legp_search(tagData, true)
|
||||
let legpObjectRight = legp(contentElm.getElementsByClassName('right')[0], ".datalist_right")
|
||||
legpObjectRight.legp_search(tagData, true)
|
||||
|
||||
let pickElm = contentElm.getElementsByClassName('pick')[0]
|
||||
let copyElm = contentElm.getElementsByClassName('copy')[0]
|
||||
let sourceCopyElm = contentElm.getElementsByClassName('sourceCopy')[0]
|
||||
let datalistLeftInput = contentElm.getElementsByClassName('datalist_left')[0].getElementsByTagName('input')[0]
|
||||
datalistLeftInput.value = tagData[0].value
|
||||
legpObjectLeft.legp_searchActive(tagData[0].value)
|
||||
|
||||
|
||||
|
||||
|
||||
let datalistRightInput = contentElm.getElementsByClassName('datalist_right')[0].getElementsByTagName('input')[0]
|
||||
datalistRightInput.value = tagData[0].value
|
||||
legpObjectRight.legp_searchActive(tagData[0].value)
|
||||
|
||||
|
||||
|
||||
|
||||
let convertElm = contentElm.getElementsByClassName('convert')[0]
|
||||
let leftXElm = contentElm.getElementsByClassName('left-x')[0]
|
||||
let leftYElm = contentElm.getElementsByClassName('left-y')[0]
|
||||
let rightXElm = contentElm.getElementsByClassName('right-x')[0]
|
||||
let rightYElm = contentElm.getElementsByClassName('right-y')[0]
|
||||
|
||||
let beforeleftVal = 'EPSG:4326'
|
||||
let beforerightVal = 'EPSG:4326'
|
||||
// 监听输入事件(实时触发)
|
||||
datalistLeftInput.addEventListener('input', (e) => {
|
||||
const newValue = e.target.value;
|
||||
if (leftXElm.value && leftYElm.value) {
|
||||
let result = proj.convert([{ x: Number(leftXElm.value), y: Number(leftYElm.value) }], beforeleftVal, newValue)
|
||||
if (result.code === 0) {
|
||||
leftXElm.value = result.points[0].x
|
||||
leftYElm.value = result.points[0].y
|
||||
}
|
||||
}
|
||||
beforeleftVal = newValue
|
||||
|
||||
// 可以在这里调用legp_searchActive方法
|
||||
legpObjectLeft.legp_searchActive(newValue);
|
||||
});
|
||||
|
||||
datalistRightInput.addEventListener('input', (e) => {
|
||||
const newValue = e.target.value;
|
||||
if (rightXElm.value && rightYElm.value) {
|
||||
let result = proj.convert([{ x: Number(rightXElm.value), y: Number(rightYElm.value) }], beforerightVal, newValue)
|
||||
if (result.code === 0) {
|
||||
rightXElm.value = result.points[0].x
|
||||
rightYElm.value = result.points[0].y
|
||||
}
|
||||
}
|
||||
|
||||
beforerightVal = datalistRightInput.value
|
||||
// 可以在这里调用legp_searchActive方法
|
||||
legpObjectRight.legp_searchActive(newValue);
|
||||
});
|
||||
|
||||
pickElm.addEventListener('click', () => {
|
||||
tip && tip.destroy()
|
||||
event && event.destroy()
|
||||
|
||||
@ -899,14 +899,14 @@
|
||||
|
||||
.fly-roam>.content .table .tr .th:first-child,
|
||||
.fly-roam>.content .table .tr .td:first-child {
|
||||
flex: 0 0 95px;
|
||||
width: 95px;
|
||||
flex: 0 0 70px;
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.fly-roam>.content .table .tr .th:nth-child(2),
|
||||
.fly-roam>.content .table .tr .td:nth-child(2) {
|
||||
flex: 0 0 240px;
|
||||
width: 240px;
|
||||
flex: 0 0 100px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.fly-roam>.content .table .tr .th:last-child,
|
||||
|
||||
Reference in New Issue
Block a user