新增度分秒拾取功能

This commit is contained in:
2025-11-14 15:09:00 +08:00
parent 25af7f1d02
commit 75b56f9562

View File

@ -139,6 +139,7 @@ const open = async (sdk, closeCallBack) => {
for (let i = 0; i < items.length; i++) { for (let i = 0; i < items.length; i++) {
let type = items[i].getAttribute('data-type') let type = items[i].getAttribute('data-type')
let convertElm = items[i].getElementsByClassName('convert')[0] let convertElm = items[i].getElementsByClassName('convert')[0]
let pickUpElm = items[i].getElementsByClassName('pickUp')[0]
let copyElm = items[i].getElementsByClassName('icon-copy-box')[0] let copyElm = items[i].getElementsByClassName('icon-copy-box')[0]
let clipboard = new ClipboardJS(copyElm, { let clipboard = new ClipboardJS(copyElm, {
text: (trigger) => { text: (trigger) => {
@ -191,6 +192,54 @@ const open = async (sdk, closeCallBack) => {
clipboard.on('error', function (e) { clipboard.on('error', function (e) {
tools.message({ type: 'warning', text: '复制失败' }) tools.message({ type: 'warning', text: '复制失败' })
}); });
let DrawPoint = require('../Draw/drawPoint').default
pickUpElm.addEventListener('click', () => {
let Draw = new DrawPoint(sdk)
Draw.start((a, positions) => {
switch (type * 1) {
case 0:
items[i].getElementsByClassName('lng')[0].value = positions.lng
items[i].getElementsByClassName('lat')[0].value = positions.lat
break;
case 1:
let lngDM = proj.degreesToDMS(positions.lng, true)
let latDM = proj.degreesToDMS(positions.lat, true)
let lngdnArr1 = lngDM.split('°')
let lngdnArr2 = lngdnArr1[1].split("'")
let latdnArr1 = latDM.split('°')
let latdnArr2 = latdnArr1[1].split("'")
contentElm.getElementsByClassName('lng-dm-d')[0].value = lngdnArr1[0]
contentElm.getElementsByClassName('lng-dm-m')[0].value = lngdnArr2[0]
contentElm.getElementsByClassName('lat-dm-d')[0].value = latdnArr1[0]
contentElm.getElementsByClassName('lat-dm-m')[0].value = latdnArr2[0]
break
case 2:
let lngDMS = proj.degreesToDMS(positions.lng)
let latDMS = proj.degreesToDMS(positions.lat)
let lngdnsArr1 = lngDMS.split('°')
let lngdnsArr2 = lngdnsArr1[1].split("'")
let lngdnsArr3 = lngdnsArr2[1].split('"')
let latdnsArr1 = latDMS.split('°')
let latdnsArr2 = latdnsArr1[1].split("'")
let latdnsArr3 = latdnsArr2[1].split('"')
contentElm.getElementsByClassName('lng-dms-d')[0].value =
lngdnsArr1[0]
contentElm.getElementsByClassName('lng-dms-m')[0].value =
lngdnsArr2[0]
contentElm.getElementsByClassName('lng-dms-s')[0].value =
lngdnsArr3[0]
contentElm.getElementsByClassName('lat-dms-d')[0].value =
latdnsArr1[0]
contentElm.getElementsByClassName('lat-dms-m')[0].value =
latdnsArr2[0]
contentElm.getElementsByClassName('lat-dms-s')[0].value =
latdnsArr3[0]
break
default:
break;
}
})
})
convertElm.addEventListener('click', () => { convertElm.addEventListener('click', () => {
// let a = proj.degreesToDMS(100.345546743) // let a = proj.degreesToDMS(100.345546743)
let lng, let lng,
@ -319,10 +368,12 @@ const open = async (sdk, closeCallBack) => {
items[i].style.order = 0 items[i].style.order = 0
items[i].style.display = 'block' items[i].style.display = 'block'
convertElm.style.display = 'inline-block' convertElm.style.display = 'inline-block'
pickUpElm.style.display = 'inline-block'
} else { } else {
items[i].style.order = 1 items[i].style.order = 1
items[i].style.display = 'none' items[i].style.display = 'none'
convertElm.style.display = 'none' convertElm.style.display = 'none'
pickUpElm.style.display = 'none'
} }
} }
@ -370,10 +421,12 @@ const open = async (sdk, closeCallBack) => {
if (selectData[i].value === selectDataLegpElm.value) { if (selectData[i].value === selectDataLegpElm.value) {
for (let m = 0; m < items.length; m++) { for (let m = 0; m < items.length; m++) {
let convertElm = items[m].getElementsByClassName('convert')[0] let convertElm = items[m].getElementsByClassName('convert')[0]
let pickUpElm = items[m].getElementsByClassName('pickUp')[0]
if (m == selectData[i].key) { if (m == selectData[i].key) {
items[m].style.order = 0 items[m].style.order = 0
items[m].style.display = 'block' items[m].style.display = 'block'
convertElm.style.display = 'inline-block' convertElm.style.display = 'inline-block'
pickUpElm.style.display = 'inline-block'
} else { } else {
if (m === 0) { if (m === 0) {
items[m].style.order = 2 items[m].style.order = 2
@ -383,6 +436,7 @@ const open = async (sdk, closeCallBack) => {
} }
items[m].style.display = 'none' items[m].style.display = 'none'
convertElm.style.display = 'none' convertElm.style.display = 'none'
pickUpElm.style.display = 'none'
} }
} }
break break