From cff089c77766bc34f370a139e3109e2a8d2d36e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Tue, 25 Nov 2025 09:52:38 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E9=97=B4=E8=B7=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Obj/Base/BatchModel/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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;
}
From 6d5271146747baa165e4322d82bea33fc8aea997 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Tue, 25 Nov 2025 14:32:18 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E9=BC=A0=E6=A0=87=E5=AE=9A=E4=BD=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Global/MouseCoordinate/index.js | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
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 = ``
+ contentElm.innerHTML = ``
}
}
-
}
animateUpdate()
From 1fecb7872f2656fb440263290a745e003639eb02 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Tue, 25 Nov 2025 17:08:14 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E9=A3=9E=E8=A1=8C=E6=BC=AB=E6=B8=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Global/FlyRoam/index.js | 65 ++++++++++++++++++++++++++++++++++---
1 file changed, 61 insertions(+), 4 deletions(-)
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
From 669f2bf90855f9f52b96a52546b4d9d7525a9db3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com>
Date: Fri, 28 Nov 2025 17:10:11 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BA=BF=E5=BD=93?=
=?UTF-8?q?=E9=80=9F=E5=BA=A6=E4=B8=BA0=E6=97=B6=E4=B8=8D=E5=8F=8D?=
=?UTF-8?q?=E5=90=91bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Tools/index.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/Tools/index.js b/src/Tools/index.js
index 3544176..77f2a5a 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