This commit is contained in:
zh
2025-12-17 18:06:30 +08:00
7 changed files with 51 additions and 30 deletions

View File

@ -104,7 +104,7 @@ class DrawPolyline extends Draw {
let cache_positions = []
let car = undefined
this.event.mouse_left((movement, cartesian) => {
if(into === '2D') {
if (into === '2D') {
return
}
into = '3D'
@ -120,7 +120,6 @@ class DrawPolyline extends Draw {
}
cache_positions.push(cartesian)
this.points_ids.push(this.create_point(cartesian, this.viewer))
if (cache_positions.length >= this.options.number) {
let positions = []
cache_positions.forEach((item) => {
@ -138,11 +137,12 @@ class DrawPolyline extends Draw {
this.end()
}
else {
cb(cache_positions.length)
// cb(cache_positions.length)
cb(null, cache_positions)
}
})
this.event.mouse_right((movement, cartesian) => {
if(into === '2D') {
if (into === '2D') {
return
}
let positions = []
@ -161,7 +161,7 @@ class DrawPolyline extends Draw {
this.end()
})
this.event.mouse_move((movement, cartesian) => {
if(into === '2D') {
if (into === '2D') {
return
}
this.positions = cache_positions.concat(cartesian)
@ -172,7 +172,7 @@ class DrawPolyline extends Draw {
)
})
this.event.mouse_right_keyboard_ctrl((movement, cartesian) => {
if(into === '2D') {
if (into === '2D') {
return
}
if (this.points_ids.length > 1) {
@ -183,7 +183,7 @@ class DrawPolyline extends Draw {
})
this.event.gesture_pinck_start_keyboard_ctrl(() => {
if(into === '2D') {
if (into === '2D') {
return
}
if (this.points_ids.length > 1) {
@ -195,7 +195,7 @@ class DrawPolyline extends Draw {
})
this.event.gesture_pinck_start((movement, cartesian) => {
if(into === '2D') {
if (into === '2D') {
return
}
let startTime = new Date()
@ -239,7 +239,7 @@ class DrawPolyline extends Draw {
if (!this._is2D && this._sdk2D) {
this.event2D = new MouseEvent(this._sdk2D)
this.event2D.mouse_left((movement, cartesian) => {
if(into === '3D') {
if (into === '3D') {
return
}
into = '2D'
@ -257,7 +257,7 @@ class DrawPolyline extends Draw {
this.points_ids.push(this.create_point(cartesian, this._sdk2D.viewer))
})
this.event2D.mouse_right((movement, cartesian) => {
if(into === '3D') {
if (into === '3D') {
return
}
let positions = []
@ -276,7 +276,7 @@ class DrawPolyline extends Draw {
this.end()
})
this.event2D.mouse_move((movement, cartesian) => {
if(into === '3D') {
if (into === '3D') {
return
}
this.positions = cache_positions.concat(cartesian)
@ -287,7 +287,7 @@ class DrawPolyline extends Draw {
)
})
this.event2D.mouse_right_keyboard_ctrl((movement, cartesian) => {
if(into === '3D') {
if (into === '3D') {
return
}
if (this.points_ids.length > 1) {
@ -298,7 +298,7 @@ class DrawPolyline extends Draw {
})
this.event2D.gesture_pinck_start_keyboard_ctrl(() => {
if(into === '3D') {
if (into === '3D') {
return
}
if (this.points_ids.length > 1) {
@ -309,7 +309,7 @@ class DrawPolyline extends Draw {
})
this.event2D.gesture_pinck_start((movement, cartesian) => {
if(into === '3D') {
if (into === '3D') {
return
}
let startTime = new Date()

View File

@ -76,7 +76,7 @@ function accordingToCameraHeight() {
}
function startDraw(sdk, showData) {
if(!sdk || !sdk.viewer) {
if (!sdk || !sdk.viewer) {
return
}
if (showData) {
@ -129,8 +129,28 @@ function reset() {
supplementaryContourShow = false
supplementaryContourWidth = 1.0
supplementaryContourColor = '#d084d1'
}
function setVal(data) {
secondaryLinesCount = data['secondaryLinesCount']
// show = true
equalHeightDistance = data['equalHeightDistance']
activeColor = rgbaFromObject(data['activeColor'])
indexContourShow = data['indexContourShow']
indexContourWidth = data['indexContourWidth']
indexContourColor = rgbaFromObject(data['indexContourColor'])
intermediateContourShow = data['intermediateContourShow']
intermediateContourWidth = data['intermediateContourWidth']
intermediateContourColor = rgbaFromObject(data['intermediateContourColor'])
halfIntervalContourShow = data['halfIntervalContourShow']
halfIntervalContourWidth = data['halfIntervalContourWidth']
halfIntervalContourColor = rgbaFromObject(data['halfIntervalContourColor'])
supplementaryContourShow = data['supplementaryContourShow']
supplementaryContourWidth = data['supplementaryContourWidth']
supplementaryContourColor = rgbaFromObject(data['supplementaryContourColor'])
}
function rgbaFromObject(colorObj) {
const { red, green, blue, alpha = 1 } = colorObj;
return `rgba(${red * 255}, ${green * 255}, ${blue * 255}, ${alpha})`;
}
async function dialog(sdk) {
_sdk = sdk
@ -716,4 +736,4 @@ czm_material czm_getMaterial(czm_materialInput materialInput)
});
}
export { dialog, startDraw, reset }
export { dialog, startDraw, reset, setVal }

View File

@ -203,6 +203,8 @@ const open = async (sdk, options = {}, _Dialog = {}, func) => {
trList[i].querySelector("input[name='time']").value = time
}
trList[trList.length - 1].querySelector("input[name='time']").value = 0
totalTimeElm.value = 0//点击应用后默认时间清零
}
})
totalTimeElm.addEventListener('blur', () => {

View File

@ -181,13 +181,13 @@ const MouseCoordinate = (sdk, status) => {
// contentElm.innerHTML = `<div style='width: 150px;position: absolute; z-index: 777; color: #ff0000; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${degrees.lng.toFixed(6)}°</p><p style='margin: 0;'>维度:${degrees.lat.toFixed(6)}°</p><p style='margin: 0;'>海拔:${degrees.alt.toFixed(2)} m</p></div>`
switch (positionType || '度') {
case '度':
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${degrees.lng.toFixed(8)}°</p><p style='margin: 0;'>维度:${degrees.lat.toFixed(8)}°</p><p style='margin: 0;'>海拔:${degrees.alt.toFixed(2)} m</p></div>`
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 160px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${degrees.lng.toFixed(8)}°</p><p style='margin: 0;'>维度:${degrees.lat.toFixed(8)}°</p><p style='margin: 0;'>海拔:${Number(degrees.alt.toFixed(2))} m</p></div>`
break;
case '度分':
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${proj.degreesToDMS(degrees.lng, true)}</p><p style='margin: 0;'>维度:${proj.degreesToDMS(degrees.lat, true)}</p><p style='margin: 0;'>海拔:${degrees.alt.toFixed(2)} m</p></div>`
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${proj.degreesToDMS(degrees.lng, true)}</p><p style='margin: 0;'>维度:${proj.degreesToDMS(degrees.lat, true)}</p><p style='margin: 0;'>海拔:${Number(degrees.alt.toFixed(2))} m</p></div>`
break;
case '度分秒':
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${proj.degreesToDMS(degrees.lng, false)}</p><p style='margin: 0;'>维度:${proj.degreesToDMS(degrees.lat, false)}</p><p style='margin: 0;'>海拔:${degrees.alt.toFixed(2)} m</p></div>`
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:${proj.degreesToDMS(degrees.lng, false)}</p><p style='margin: 0;'>维度:${proj.degreesToDMS(degrees.lat, false)}</p><p style='margin: 0;'>海拔:${Number(degrees.alt.toFixed(2))} m</p></div>`
break;
default:
break;
@ -197,13 +197,13 @@ 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 = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>x${position.x.toFixed(2)}</p><p style='margin: 0;'>y${position.y.toFixed(2)}</p><p style='margin: 0;'>z${position.z.toFixed(2)}</p></div>`
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>x${position.x.toFixed(2)}</p><p style='margin: 0;'>y${position.y.toFixed(2)}</p><p style='margin: 0;'>z${Number(position.z.toFixed(2))}</p></div>`
}
}
else {
let coordinateSystem = getCoordinateSystem()
if (coordinateSystem === 'EPSG:4326' || coordinateSystem === 'EPSG:4490') {
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:-</p><p style='margin: 0;'>维度:-</p><p style='margin: 0;'>海拔:-</p></div>`
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 160px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>经度:-</p><p style='margin: 0;'>维度:-</p><p style='margin: 0;'>海拔:-</p></div>`
}
else {
contentElm.innerHTML = `<div class='mousePosiWords' style='width: 150px;position: absolute; z-index: 777; color: #ffffff; font-size: 12px; left:${left + 20}px; top:${top + 10}px;'><p style='margin: 0;'>x-</p><p style='margin: 0;'>y-</p><p style='margin: 0;'>z-</p></div>`

View File

@ -9,7 +9,7 @@ let state = false
let scale = '1:100万'
function SheetIndexStatusSwitch(sdk, s = false) {
if(!sdk) {
if (!sdk) {
return
}
if (!tools) {
@ -32,7 +32,7 @@ function SheetIndexStatusSwitch(sdk, s = false) {
}
let sdkD = getSdk().sdkD
if(sdkD && sdk !== sdkD) {
if (sdkD && sdk !== sdkD) {
SheetIndexStatusSwitch(sdkD, s)
}
@ -118,7 +118,6 @@ function open(sdk) {
break;
}
}
if (!gridPrimitives) {
gridPrimitives = new Cesium.PrimitiveCollection();
gridPrimitives.name = 'SheetIndexGridPrimitives';
@ -128,7 +127,6 @@ function open(sdk) {
labelCollection = new Cesium.LabelCollection();
labelCollection.name = 'SheetIndexLabelCollection';
}
let stationaryFrames = 0;
let maxRectangle = null;
gridPrimitives.postRenderEvent = () => {

View File

@ -872,7 +872,7 @@ function getDMS() {
return positionType
}
function setDMS(sdk, type) {
if (coordinateSystem !== 'EPSG:4326') {
if (coordinateSystem !== 'EPSG:4326' && coordinateSystem !== 'EPSG:4490') {
return
}
positionType = type

View File

@ -72,7 +72,7 @@ import {
} from '../Global/MultiViewportMode'
import { MouseCoordinate } from '../Global/MouseCoordinate'
import { MouseRightMenu } from '../Global/mouseRightMenu'
import { dialog as ContourDialog, startDraw as ContourStartDraw, reset as ContourReset } from '../Global/Contour'
import { dialog as ContourDialog, startDraw as ContourStartDraw, reset as ContourReset, setVal as ContourSetVal } from '../Global/Contour'
import { on as SplitScreenOn, off as SplitScreenOff, setActiveId as SplitScreenSetActiveId, getSdk, syncSplitData } from '../Global/SplitScreen'
import LocateCurrent from '../Obj/Base/LocateCurrent'
@ -355,7 +355,8 @@ if (!window.YJ) {
},
Contour: ContourDialog,
ContourStartDraw,
ContourReset
ContourReset,
ContourSetVal
}, //测量
Measure: {
GetMeasureStatus: () => {