diff --git a/src/Tools/projConvert.js b/src/Tools/projConvert.js index 22a0fbb..a8473b3 100644 --- a/src/Tools/projConvert.js +++ b/src/Tools/projConvert.js @@ -139,6 +139,7 @@ const open = async (sdk, closeCallBack) => { for (let i = 0; i < items.length; i++) { let type = items[i].getAttribute('data-type') let convertElm = items[i].getElementsByClassName('convert')[0] + let pickUpElm = items[i].getElementsByClassName('pickUp')[0] let copyElm = items[i].getElementsByClassName('icon-copy-box')[0] let clipboard = new ClipboardJS(copyElm, { text: (trigger) => { @@ -191,6 +192,54 @@ const open = async (sdk, closeCallBack) => { clipboard.on('error', function (e) { 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', () => { // let a = proj.degreesToDMS(100.345546743) let lng, @@ -319,10 +368,12 @@ const open = async (sdk, closeCallBack) => { items[i].style.order = 0 items[i].style.display = 'block' convertElm.style.display = 'inline-block' + pickUpElm.style.display = 'inline-block' } else { items[i].style.order = 1 items[i].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) { for (let m = 0; m < items.length; m++) { let convertElm = items[m].getElementsByClassName('convert')[0] + let pickUpElm = items[m].getElementsByClassName('pickUp')[0] if (m == selectData[i].key) { items[m].style.order = 0 items[m].style.display = 'block' convertElm.style.display = 'inline-block' + pickUpElm.style.display = 'inline-block' } else { if (m === 0) { items[m].style.order = 2 @@ -383,6 +436,7 @@ const open = async (sdk, closeCallBack) => { } items[m].style.display = 'none' convertElm.style.display = 'none' + pickUpElm.style.display = 'none' } } break