diff --git a/src/Global/FlyRoam/index.js b/src/Global/FlyRoam/index.js index 7dab5fc..a7c4754 100644 --- a/src/Global/FlyRoam/index.js +++ b/src/Global/FlyRoam/index.js @@ -18,6 +18,14 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { if (options.repeat) { repeat = Number(options.repeat) } + if (options.defaultTime) { + let contentElm = document.getElementsByClassName('fly-roam')[0] + contentElm.querySelector("input[name='defaultTime']").value = options.defaultTime + } + if (options.totalTime) { + let contentElm = document.getElementsByClassName('fly-roam')[0] + contentElm.querySelector("input[name='totalTime']").value = options.totalTime + } let viewer = sdk.viewer let tools = new Tools(sdk) let active = 0 @@ -72,6 +80,23 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { nameElm.value = name nameElm.addEventListener('input', () => { name = nameElm.value + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) + }) + let defaultTimeDom = contentElm.querySelector("input[name='defaultTime']") + nameElm.addEventListener('input', () => { + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) }) // let addListBtn = document.createElement('button'); @@ -90,7 +115,9 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { func({ name: name, points: newPoints, - repeat: repeat + '' + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value }) // _Dialog.clickSavePath && _Dialog.clickSavePath( // { @@ -138,6 +165,14 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { points.splice(active, 0, data) addTrElm(data) i++ + + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) }) // let modifyBtn = contentElm.getElementsByClassName('modify-point')[0] // modifyBtn.addEventListener('click', () => { @@ -184,6 +219,13 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { } trList[trList.length - 1].querySelector("input[name='time']").value = 0 } + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) }) repeatElm.checked = (repeat === Infinity ? true : false) repeatElm.addEventListener('change', () => { @@ -194,6 +236,13 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { repeat = 0 } currentRepeat = repeat + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) _Dialog.changeRepeatStateCallBack && _Dialog.changeRepeatStateCallBack(repeatElm.checked) }) @@ -260,7 +309,7 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { let modifyBtn = tr.getElementsByClassName('modify-point')[0] modifyBtn.addEventListener('click', () => { for (let m = 0; m < trList.length; m++) { - if (trList[m] === e_delete.parentNode.parentNode) { + if (trList[m] === e_delete.parentNode.parentNode.parentNode) { let position = tools.cartesian3Towgs84(viewer.camera.position, viewer) points[m].position = position points[m].orientation = { @@ -277,14 +326,14 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { e_play.addEventListener('click', () => { for (let m = 0; m < trList.length; m++) { - if (trList[m] === e_delete.parentNode.parentNode) { + if (trList[m] === e_play.parentNode.parentNode.parentNode) { flyTo(sdk, points, m) } } }) e_delete.addEventListener("click", (v) => { for (let m = 0; m < trList.length; m++) { - if (trList[m] === e_delete.parentNode.parentNode) { + if (trList[m] === e_delete.parentNode.parentNode.parentNode) { points.splice(m, 1) points[points.length - 1] && (points[points.length - 1].duration = 0) tableBody.removeChild(tr) @@ -322,6 +371,14 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => { // if (trList.length > 0) { // trList[trList.length - 1].querySelector("input[name='time']").disabled = 'disabled' // } + + func({ + name: name, + points: points, + repeat: repeat + '', + defaultTime: defaultTimeDom.value, + totalTime: totalTimeElm.value + }) }) e_time.addEventListener('input', (v) => { isTotalTimeElm.checked = false diff --git a/src/Global/MouseCoordinate/index.js b/src/Global/MouseCoordinate/index.js index 4cd1d84..eaccee7 100644 --- a/src/Global/MouseCoordinate/index.js +++ b/src/Global/MouseCoordinate/index.js @@ -181,13 +181,13 @@ const MouseCoordinate = (sdk, status) => { // contentElm.innerHTML = `

经度:${degrees.lng.toFixed(6)}°

维度:${degrees.lat.toFixed(6)}°

海拔:${degrees.alt.toFixed(2)} m

` switch (positionType || '度') { case '度': - contentElm.innerHTML = `

经度:${degrees.lng.toFixed(6)}°

维度:${degrees.lat.toFixed(6)}°

海拔:${degrees.alt.toFixed(2)} m

` + contentElm.innerHTML = `

经度:${degrees.lng.toFixed(6)}°

维度:${degrees.lat.toFixed(6)}°

海拔:${degrees.alt.toFixed(2)} m

` break; case '度分': - contentElm.innerHTML = `

经度:${proj.degreesToDMS(degrees.lng, true)}

维度:${proj.degreesToDMS(degrees.lat, true)}

海拔:${degrees.alt.toFixed(2)} m

` + contentElm.innerHTML = `

经度:${proj.degreesToDMS(degrees.lng, true)}

维度:${proj.degreesToDMS(degrees.lat, true)}

海拔:${degrees.alt.toFixed(2)} m

` break; case '度分秒': - contentElm.innerHTML = `

经度:${proj.degreesToDMS(degrees.lng, false)}

维度:${proj.degreesToDMS(degrees.lat, false)}

海拔:${degrees.alt.toFixed(2)} m

` + contentElm.innerHTML = `

经度:${proj.degreesToDMS(degrees.lng, false)}

维度:${proj.degreesToDMS(degrees.lat, false)}

海拔:${degrees.alt.toFixed(2)} m

` break; default: break; @@ -197,19 +197,18 @@ const MouseCoordinate = (sdk, status) => { // let result = tools.convert([{ x: degrees.lng, y: degrees.lat, z: degrees.alt }], 'EPSG:4326', coordinateSystem) let result = tools.convert([{ x: degrees.lng, y: degrees.lat, z: degrees.alt }], 'EPSG:4326', posiToCoordinate(coordinateSystem, degrees)) position = result.points[0] - contentElm.innerHTML = `

x:${position.x.toFixed(6)}

y:${position.y.toFixed(6)}

z:${position.z.toFixed(6)}

` + contentElm.innerHTML = `

x:${position.x.toFixed(6)}

y:${position.y.toFixed(6)}

z:${position.z.toFixed(6)}

` } } else { let coordinateSystem = getCoordinateSystem() if (coordinateSystem === 'EPSG:4326') { - contentElm.innerHTML = `

经度:-

维度:-

海拔:-

` + contentElm.innerHTML = `

经度:-

维度:-

海拔:-

` } else { - contentElm.innerHTML = `

x:-

y:-

z:-

` + contentElm.innerHTML = `

x:-

y:-

z:-

` } } - } animateUpdate() diff --git a/src/Obj/Base/BatchModel/index.js b/src/Obj/Base/BatchModel/index.js index 5e71777..adc67a1 100644 --- a/src/Obj/Base/BatchModel/index.js +++ b/src/Obj/Base/BatchModel/index.js @@ -50,7 +50,7 @@ class BatchModel extends Base { let tools = new Tools(sdk) // BatchModel.computeDis(this) // if (this.options.positions.length > 0 || this.options.positions.lng) { - if (this.options.spacing < 0 || options.spacing * 1 === 0) { + if (options.type != '点' && (this.options.spacing < 0 || options.spacing * 1 === 0)) { tools.message({ type: 'warning', text: '请输入正确的间距!' }) return; } diff --git a/src/Tools/index.js b/src/Tools/index.js index b6dd1c3..dc6bc61 100644 --- a/src/Tools/index.js +++ b/src/Tools/index.js @@ -709,7 +709,8 @@ class Tools { color: color, image: this.getSourceRootPath() + `/img/arrow/${type - 6}.png`, space: newParam.space, - speed: newParam.speed + speed: newParam.speed, + rotate: newParam.rotate } param.speed = newParam.rotate ? param.speed : 0 - param.speed @@ -733,11 +734,11 @@ class Tools { myImg.src = options.image myImg.onload = function () { options.space = Math.max(0.1, options.space); - if (options.speed > 0 || options.speed == 0) { + if (options.speed > 0 || (options.speed == 0 && options.rotate)) { canvasEle.width = myImg.width * (options.space + 1) canvasEle.height = myImg.height ctx.drawImage(myImg, myImg.width * (options.space / 2), 0) - } else { + } else if (options.speed < 0 || (options.speed == 0 && !options.rotate)) { ctx.clearRect(0, 0, canvasEle.width, canvasEle.height); canvasEle.width = myImg.width * (options.space + 1) canvasEle.height = myImg.height