修改
This commit is contained in:
@ -12,8 +12,8 @@ let repeat = 0
|
|||||||
let currentRepeat = 0
|
let currentRepeat = 0
|
||||||
|
|
||||||
|
|
||||||
const open = async (sdk, options = {}, _Dialog = {}) => {
|
const open = async (sdk, options = {}, _Dialog = {}, func) => {
|
||||||
let name = options.name || '飞线漫游'
|
let name = options.name || '漫游路径'
|
||||||
options.points || (options.points = [])
|
options.points || (options.points = [])
|
||||||
if (options.repeat) {
|
if (options.repeat) {
|
||||||
repeat = Number(options.repeat)
|
repeat = Number(options.repeat)
|
||||||
@ -74,8 +74,9 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
|||||||
name = nameElm.value
|
name = nameElm.value
|
||||||
})
|
})
|
||||||
|
|
||||||
let addListBtn = document.createElement('button');
|
// let addListBtn = document.createElement('button');
|
||||||
addListBtn.innerHTML = '保存'
|
let addListBtn = document.getElementsByClassName('saveRoam')[0];
|
||||||
|
// addListBtn.innerHTML = '保存'
|
||||||
addListBtn.addEventListener('click', () => {
|
addListBtn.addEventListener('click', () => {
|
||||||
if (!name) {
|
if (!name) {
|
||||||
name = '漫游路径'
|
name = '漫游路径'
|
||||||
@ -85,6 +86,12 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
|||||||
points.map((item) => {
|
points.map((item) => {
|
||||||
newPoints.push(item)
|
newPoints.push(item)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
func({
|
||||||
|
name: name,
|
||||||
|
points: newPoints,
|
||||||
|
repeat: repeat + ''
|
||||||
|
})
|
||||||
// _Dialog.clickSavePath && _Dialog.clickSavePath(
|
// _Dialog.clickSavePath && _Dialog.clickSavePath(
|
||||||
// {
|
// {
|
||||||
// name: name,
|
// name: name,
|
||||||
@ -124,20 +131,20 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
|||||||
addTrElm(data)
|
addTrElm(data)
|
||||||
i++
|
i++
|
||||||
})
|
})
|
||||||
let modifyBtn = contentElm.getElementsByClassName('modify-point')[0]
|
// let modifyBtn = contentElm.getElementsByClassName('modify-point')[0]
|
||||||
modifyBtn.addEventListener('click', () => {
|
// modifyBtn.addEventListener('click', () => {
|
||||||
if (!active) {
|
// if (!active) {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
let position = tools.cartesian3Towgs84(viewer.camera.position, viewer)
|
// let position = tools.cartesian3Towgs84(viewer.camera.position, viewer)
|
||||||
points[active - 1].position = position
|
// points[active - 1].position = position
|
||||||
points[active - 1].orientation = {
|
// points[active - 1].orientation = {
|
||||||
heading: viewer.camera.heading,
|
// heading: viewer.camera.heading,
|
||||||
pitch: viewer.camera.pitch,
|
// pitch: viewer.camera.pitch,
|
||||||
roll: viewer.camera.roll
|
// roll: viewer.camera.roll
|
||||||
}
|
// }
|
||||||
tools.message({ text: '操作成功' })
|
// tools.message({ text: '操作成功' })
|
||||||
})
|
// })
|
||||||
|
|
||||||
let totalTimeElm = contentElm.querySelector("input[name='totalTime']")
|
let totalTimeElm = contentElm.querySelector("input[name='totalTime']")
|
||||||
let isTotalTimeElm = contentElm.querySelector("input[name='isTotalTime']")
|
let isTotalTimeElm = contentElm.querySelector("input[name='isTotalTime']")
|
||||||
@ -287,11 +294,13 @@ const open = async (sdk, options = {}, _Dialog = {}) => {
|
|||||||
// }
|
// }
|
||||||
})
|
})
|
||||||
e_time.addEventListener('input', (v) => {
|
e_time.addEventListener('input', (v) => {
|
||||||
|
console.log(isTotalTimeElm, 'isTotalTimeElm')
|
||||||
isTotalTimeElm.checked = false
|
isTotalTimeElm.checked = false
|
||||||
data.duration = Number(e_time.value)
|
data.duration = Number(e_time.value)
|
||||||
if (data.duration < 0) {
|
if (data.duration < 0) {
|
||||||
data.duration = 0
|
data.duration = 0
|
||||||
}
|
}
|
||||||
|
console.log(data.duration, 'duration')
|
||||||
})
|
})
|
||||||
e_time.addEventListener('blur', () => {
|
e_time.addEventListener('blur', () => {
|
||||||
e_time.value = Number(Number(e_time.value).toFixed(2))
|
e_time.value = Number(Number(e_time.value).toFixed(2))
|
||||||
@ -325,6 +334,7 @@ const close = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const executeFlyTo = (sdk, points = [], index = 0, noStart) => {
|
const executeFlyTo = (sdk, points = [], index = 0, noStart) => {
|
||||||
|
console.log(noStart, points, 'noStart')
|
||||||
if (clickHandler) {
|
if (clickHandler) {
|
||||||
clickHandler.destroy()
|
clickHandler.destroy()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ const convertToImage = (container, options = {}) => {
|
|||||||
useCORS: true,//允许跨域
|
useCORS: true,//允许跨域
|
||||||
allowTaint: false, //允许跨域数据污染'被污染'的canvas
|
allowTaint: false, //允许跨域数据污染'被污染'的canvas
|
||||||
tainttest: true,
|
tainttest: true,
|
||||||
foreignObjectRendering: true, //在浏览器支持的情况下使用ForeignObject模式渲染图片
|
foreignObjectRendering: true, //在浏览器支持的情况下使用ForeignObject模式渲染图片
|
||||||
...options
|
...options
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -241,11 +241,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
start() {
|
start() {
|
||||||
if (sdk.viewer.scene.imageryLayers._layers.length <= 1) {
|
if (sdk.viewer.scene.imageryLayers._layers.length <= 1) {
|
||||||
this.error = '未加载底图!'
|
this.error = '未加载底图!'
|
||||||
window.ELEMENT && window.ELEMENT.Message({
|
// window.ELEMENT && window.ELEMENT.Message({
|
||||||
message: this.error,
|
// message: this.error,
|
||||||
type: 'warning',
|
// type: 'warning',
|
||||||
duration: 1500
|
// duration: 1500
|
||||||
});
|
// });
|
||||||
|
tools.message({ type: 'warning', text: this.error })
|
||||||
console.warn(this.error)
|
console.warn(this.error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -258,11 +259,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
}
|
}
|
||||||
if (!haveBaseMap) {
|
if (!haveBaseMap) {
|
||||||
this.error = '未加载底图!'
|
this.error = '未加载底图!'
|
||||||
window.ELEMENT && window.ELEMENT.Message({
|
// window.ELEMENT && window.ELEMENT.Message({
|
||||||
message: this.error,
|
// message: this.error,
|
||||||
type: 'warning',
|
// type: 'warning',
|
||||||
duration: 1500
|
// duration: 1500
|
||||||
});
|
// });
|
||||||
|
tools.message({ type: 'warning', text: this.error })
|
||||||
console.warn(this.error)
|
console.warn(this.error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -327,11 +329,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
if (!layer) {
|
if (!layer) {
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
_this.error = '当前范围内未找到底图数据!'
|
_this.error = '当前范围内未找到底图数据!'
|
||||||
window.ELEMENT && window.ELEMENT.Message({
|
// window.ELEMENT && window.ELEMENT.Message({
|
||||||
message: _this.error,
|
// message: _this.error,
|
||||||
type: 'warning',
|
// type: 'warning',
|
||||||
duration: 1500
|
// duration: 1500
|
||||||
});
|
// });
|
||||||
|
tools.message({ type: 'warning', text: _this.error })
|
||||||
console.warn(_this.error)
|
console.warn(_this.error)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -372,11 +375,12 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
);
|
);
|
||||||
if (!MinTile || !MaxTile) {
|
if (!MinTile || !MaxTile) {
|
||||||
let error = '超出地球范围!'
|
let error = '超出地球范围!'
|
||||||
window.ELEMENT && window.ELEMENT.Message({
|
// window.ELEMENT && window.ELEMENT.Message({
|
||||||
message: error,
|
// message: error,
|
||||||
type: 'warning',
|
// type: 'warning',
|
||||||
duration: 1500
|
// duration: 1500
|
||||||
});
|
// });
|
||||||
|
tools.message({ type: 'warning', text: error })
|
||||||
console.warn(error)
|
console.warn(error)
|
||||||
return
|
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 {
|
class Section extends Tools {
|
||||||
/**
|
/**
|
||||||
* @constructor 剖切
|
* @constructor 剖切
|
||||||
* @param sdk
|
* @param sdk
|
||||||
* @param tiles3d {object} 3dtiles对象
|
* @param tiles3d {object} 3dtiles对象
|
||||||
* @param {Array.<object>} options.positions 经纬度[{lon,lat,alt},...]
|
* @param {Array.<object>} options.positions 经纬度[{lon,lat,alt},...]
|
||||||
* @param options.regionsType=false 裁剪类型 false:裁剪内部,true:裁剪外部
|
* @param options.regionsType=false 裁剪类型 false:裁剪内部,true:裁剪外部
|
||||||
@ -17,6 +17,7 @@ class Section extends Tools {
|
|||||||
this.options.regionsType = this.options.regionsType || false
|
this.options.regionsType = this.options.regionsType || false
|
||||||
YJ.Analysis.SectionResults.push(this)
|
YJ.Analysis.SectionResults.push(this)
|
||||||
this.Planes = []
|
this.Planes = []
|
||||||
|
this.tools = new Tools();
|
||||||
Section.start(this)
|
Section.start(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,12 +34,13 @@ class Section extends Tools {
|
|||||||
|
|
||||||
static start(that) {
|
static start(that) {
|
||||||
let positions = that.options.positions || []
|
let positions = that.options.positions || []
|
||||||
if(!that.isConvex(positions)) {
|
if (!that.isConvex(positions)) {
|
||||||
window.ELEMENT && window.ELEMENT.Message({
|
// window.ELEMENT && window.ELEMENT.Message({
|
||||||
message: '不支持凹多边形',
|
// message: '不支持凹多边形',
|
||||||
type: 'warning',
|
// type: 'warning',
|
||||||
duration: 1500
|
// duration: 1500
|
||||||
});
|
// });
|
||||||
|
that.tools.message({ type: 'warning', text: '不支持凹多边形' })
|
||||||
console.log('不支持凹多边形')
|
console.log('不支持凹多边形')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -87,13 +89,13 @@ class Section extends Tools {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(that.tiles3d.clippingPlanes) {
|
if (that.tiles3d.clippingPlanes) {
|
||||||
that.tiles3d.clippingPlanes.removeAll()
|
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.add(that.Planes[i])
|
||||||
}
|
}
|
||||||
that.tiles3d.clippingPlanes.enabled = true
|
that.tiles3d.clippingPlanes.enabled = true
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const PlaneCollection = new Cesium.ClippingPlaneCollection({
|
const PlaneCollection = new Cesium.ClippingPlaneCollection({
|
||||||
@ -135,11 +137,11 @@ class Section extends Tools {
|
|||||||
destroy() {
|
destroy() {
|
||||||
this.Planes = []
|
this.Planes = []
|
||||||
// this.tiles3d.clippingPlanes = new Cesium.ClippingPlaneCollection()
|
// this.tiles3d.clippingPlanes = new Cesium.ClippingPlaneCollection()
|
||||||
if(this.tiles3d.clippingPlanes) {
|
if (this.tiles3d.clippingPlanes) {
|
||||||
this.tiles3d.clippingPlanes.enabled = false
|
this.tiles3d.clippingPlanes.enabled = false
|
||||||
this.tiles3d.clippingPlanes.removeAll()
|
this.tiles3d.clippingPlanes.removeAll()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Section;
|
export default Section;
|
||||||
|
|||||||
@ -158,7 +158,8 @@ class TerrainExcavation extends Tools {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!this.isConvex(positions)) {
|
if (!this.isConvex(positions)) {
|
||||||
this.tools.message({ type: 'warning', text: '至少拥有三个坐标位置!' })
|
// this.tools.message({ type: 'warning', text: '至少拥有三个坐标位置!' })
|
||||||
|
this.tools.message({ type: 'warning', text: '不支持凹多边形' })
|
||||||
console.log('不支持凹多边形')
|
console.log('不支持凹多边形')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,7 +105,7 @@ function html(that) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="lable-left-line">
|
<div class="lable-left-line">
|
||||||
<span>缩放</span>
|
<span>缩放</span>
|
||||||
@ -177,7 +177,7 @@ function html(that) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</DIV-cy-tab-pane>
|
</DIV-cy-tab-pane>
|
||||||
<DIV-cy-tab-pane label="标注风格">
|
<DIV-cy-tab-pane label="标注风格">
|
||||||
@ -193,4 +193,4 @@ function html(that) {
|
|||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
export { html }
|
export { html }
|
||||||
|
|||||||
@ -970,12 +970,16 @@ class Tools {
|
|||||||
return canvas.toDataURL()
|
return canvas.toDataURL()
|
||||||
}
|
}
|
||||||
|
|
||||||
sampleHeightMostDetailed(positions) {
|
sampleHeightMostDetailed(positions, sdk) {
|
||||||
let cartesians = []
|
let cartesians = []
|
||||||
positions.forEach((item) => {
|
positions.forEach((item) => {
|
||||||
cartesians.push(new Cesium.Cartographic.fromDegrees(item.lng, item.lat))
|
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) {
|
flyHome(duration = 3) {
|
||||||
|
|||||||
@ -93,21 +93,62 @@ const open = async (sdk, closeCallBack) => {
|
|||||||
legpObjectLeft.legp_search(tagData, true)
|
legpObjectLeft.legp_search(tagData, true)
|
||||||
let legpObjectRight = legp(contentElm.getElementsByClassName('right')[0], ".datalist_right")
|
let legpObjectRight = legp(contentElm.getElementsByClassName('right')[0], ".datalist_right")
|
||||||
legpObjectRight.legp_search(tagData, true)
|
legpObjectRight.legp_search(tagData, true)
|
||||||
|
|
||||||
let pickElm = contentElm.getElementsByClassName('pick')[0]
|
let pickElm = contentElm.getElementsByClassName('pick')[0]
|
||||||
let copyElm = contentElm.getElementsByClassName('copy')[0]
|
let copyElm = contentElm.getElementsByClassName('copy')[0]
|
||||||
let sourceCopyElm = contentElm.getElementsByClassName('sourceCopy')[0]
|
let sourceCopyElm = contentElm.getElementsByClassName('sourceCopy')[0]
|
||||||
let datalistLeftInput = contentElm.getElementsByClassName('datalist_left')[0].getElementsByTagName('input')[0]
|
let datalistLeftInput = contentElm.getElementsByClassName('datalist_left')[0].getElementsByTagName('input')[0]
|
||||||
datalistLeftInput.value = tagData[0].value
|
datalistLeftInput.value = tagData[0].value
|
||||||
legpObjectLeft.legp_searchActive(tagData[0].value)
|
legpObjectLeft.legp_searchActive(tagData[0].value)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let datalistRightInput = contentElm.getElementsByClassName('datalist_right')[0].getElementsByTagName('input')[0]
|
let datalistRightInput = contentElm.getElementsByClassName('datalist_right')[0].getElementsByTagName('input')[0]
|
||||||
datalistRightInput.value = tagData[0].value
|
datalistRightInput.value = tagData[0].value
|
||||||
legpObjectRight.legp_searchActive(tagData[0].value)
|
legpObjectRight.legp_searchActive(tagData[0].value)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let convertElm = contentElm.getElementsByClassName('convert')[0]
|
let convertElm = contentElm.getElementsByClassName('convert')[0]
|
||||||
let leftXElm = contentElm.getElementsByClassName('left-x')[0]
|
let leftXElm = contentElm.getElementsByClassName('left-x')[0]
|
||||||
let leftYElm = contentElm.getElementsByClassName('left-y')[0]
|
let leftYElm = contentElm.getElementsByClassName('left-y')[0]
|
||||||
let rightXElm = contentElm.getElementsByClassName('right-x')[0]
|
let rightXElm = contentElm.getElementsByClassName('right-x')[0]
|
||||||
let rightYElm = contentElm.getElementsByClassName('right-y')[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', () => {
|
pickElm.addEventListener('click', () => {
|
||||||
tip && tip.destroy()
|
tip && tip.destroy()
|
||||||
event && event.destroy()
|
event && event.destroy()
|
||||||
|
|||||||
@ -899,14 +899,14 @@
|
|||||||
|
|
||||||
.fly-roam>.content .table .tr .th:first-child,
|
.fly-roam>.content .table .tr .th:first-child,
|
||||||
.fly-roam>.content .table .tr .td:first-child {
|
.fly-roam>.content .table .tr .td:first-child {
|
||||||
flex: 0 0 95px;
|
flex: 0 0 70px;
|
||||||
width: 95px;
|
width: 70px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fly-roam>.content .table .tr .th:nth-child(2),
|
.fly-roam>.content .table .tr .th:nth-child(2),
|
||||||
.fly-roam>.content .table .tr .td:nth-child(2) {
|
.fly-roam>.content .table .tr .td:nth-child(2) {
|
||||||
flex: 0 0 240px;
|
flex: 0 0 100px;
|
||||||
width: 240px;
|
width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fly-roam>.content .table .tr .th:last-child,
|
.fly-roam>.content .table .tr .th:last-child,
|
||||||
|
|||||||
Reference in New Issue
Block a user