Merge branch 'master' of http://xny.yj-3d.com:3000/zh/sdk4.0_new
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
* 鼠标坐标
|
* 鼠标坐标
|
||||||
*/
|
*/
|
||||||
import Tools from "../../Tools";
|
import Tools from "../../Tools";
|
||||||
import { getCoordinateSystem } from "../../Global/global";
|
import { getCoordinateSystem, getDMS } from "../../Global/global";
|
||||||
import MouseEvent from '../../Event/index'
|
import MouseEvent from '../../Event/index'
|
||||||
import { getSdk as get2DSdk } from '../../Global/MultiViewportMode'
|
import { getSdk as get2DSdk } from '../../Global/MultiViewportMode'
|
||||||
import { getSdk as getSplitScreenSdk } from "../../Global/SplitScreen";
|
import { getSdk as getSplitScreenSdk } from "../../Global/SplitScreen";
|
||||||
@ -21,11 +21,12 @@ const MouseCoordinate = (sdk, status) => {
|
|||||||
}
|
}
|
||||||
targetSdk = sdk
|
targetSdk = sdk
|
||||||
sdkD = get2DSdk().sdkD
|
sdkD = get2DSdk().sdkD
|
||||||
if(!sdkD) {
|
if (!sdkD) {
|
||||||
sdkD = getSplitScreenSdk().sdkD
|
sdkD = getSplitScreenSdk().sdkD
|
||||||
}
|
}
|
||||||
|
|
||||||
let tools = new Tools(sdk)
|
let tools = new Tools(sdk)
|
||||||
|
let proj = sdk.proj
|
||||||
if (status) {
|
if (status) {
|
||||||
if (event) {
|
if (event) {
|
||||||
event.destroy()
|
event.destroy()
|
||||||
@ -73,7 +74,7 @@ const MouseCoordinate = (sdk, status) => {
|
|||||||
}
|
}
|
||||||
let canvas = sdk.viewer._element.getElementsByTagName('canvas')[0]
|
let canvas = sdk.viewer._element.getElementsByTagName('canvas')[0]
|
||||||
sdkD = get2DSdk().sdkD
|
sdkD = get2DSdk().sdkD
|
||||||
if(!sdkD) {
|
if (!sdkD) {
|
||||||
sdkD = getSplitScreenSdk().sdkD
|
sdkD = getSplitScreenSdk().sdkD
|
||||||
}
|
}
|
||||||
if (!event2 && sdkD) {
|
if (!event2 && sdkD) {
|
||||||
@ -118,13 +119,27 @@ const MouseCoordinate = (sdk, status) => {
|
|||||||
if (cartesian) {
|
if (cartesian) {
|
||||||
let degrees = tools.cartesian3Towgs84(cartesian, sdk.viewer)
|
let degrees = tools.cartesian3Towgs84(cartesian, sdk.viewer)
|
||||||
let coordinateSystem = getCoordinateSystem()
|
let coordinateSystem = getCoordinateSystem()
|
||||||
|
let positionType = getDMS()
|
||||||
if (coordinateSystem === 'EPSG:4326') {
|
if (coordinateSystem === 'EPSG:4326') {
|
||||||
position = {
|
position = {
|
||||||
x: degrees.lng,
|
x: degrees.lng,
|
||||||
y: degrees.lat,
|
y: degrees.lat,
|
||||||
z: degrees.alt
|
z: degrees.alt
|
||||||
}
|
}
|
||||||
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>`
|
// 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 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>`
|
||||||
|
break;
|
||||||
|
case '度分':
|
||||||
|
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;'>经度:${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>`
|
||||||
|
break;
|
||||||
|
case '度分秒':
|
||||||
|
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;'>经度:${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>`
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
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', coordinateSystem)
|
||||||
|
|||||||
@ -76,11 +76,19 @@ async function ScreenShot(sdk, cd = () => { }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let _DialogObject
|
let _DialogObject
|
||||||
|
let startScreenShotObject
|
||||||
|
|
||||||
async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
async function ScreenShotHD(sdk, confirm = true, params, cd = () => { }) {
|
||||||
if (!sdk) {
|
if (!sdk) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (!confirm) {
|
||||||
|
if (startScreenShotObject) {
|
||||||
|
startScreenShotObject.desist()
|
||||||
|
startScreenShotObject = null
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
offSplitScreen(sdk)
|
offSplitScreen(sdk)
|
||||||
offMultiViewportMode(sdk)
|
offMultiViewportMode(sdk)
|
||||||
if (_DialogObject) {
|
if (_DialogObject) {
|
||||||
@ -92,84 +100,84 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
let enableTilt = sdk.viewer.scene.screenSpaceCameraController.enableTilt
|
let enableTilt = sdk.viewer.scene.screenSpaceCameraController.enableTilt
|
||||||
let enableLook = sdk.viewer.scene.screenSpaceCameraController.enableLook
|
let enableLook = sdk.viewer.scene.screenSpaceCameraController.enableLook
|
||||||
|
|
||||||
let scale = 1
|
let scale = params.scaleV * 1
|
||||||
let level
|
let level
|
||||||
|
|
||||||
let progressInputElm
|
let progressInputElm
|
||||||
let progressBarElm
|
let progressBarElm
|
||||||
let rangeNodeActive
|
let rangeNodeActive
|
||||||
let rangeNodeActiveText
|
let rangeNodeActiveText
|
||||||
let startScreenShotObject
|
// let startScreenShotObject
|
||||||
let tools = new Tools();
|
let tools = new Tools();
|
||||||
_DialogObject = await new Dialog(sdk, {}, {
|
// _DialogObject = await new Dialog(sdk, {}, {
|
||||||
title: '高清出图', left: '180px', top: '100px',
|
// title: '高清出图', left: '180px', top: '100px',
|
||||||
confirmCallBack: (options) => {
|
// confirmCallBack: (options) => {
|
||||||
if (startScreenShotObject) {
|
// if (startScreenShotObject) {
|
||||||
startScreenShotObject.desist()
|
// startScreenShotObject.desist()
|
||||||
startScreenShotObject = null
|
// startScreenShotObject = null
|
||||||
}
|
// }
|
||||||
progressInputElm && (progressInputElm.style.width = '0%')
|
// progressInputElm && (progressInputElm.style.width = '0%')
|
||||||
rangeNodeActive && (rangeNodeActive.style.left = '0%')
|
// rangeNodeActive && (rangeNodeActive.style.left = '0%')
|
||||||
progressBarElm && (progressBarElm.style.width = '0%')
|
// progressBarElm && (progressBarElm.style.width = '0%')
|
||||||
rangeNodeActiveText && (rangeNodeActiveText.innerHTML = '0%')
|
// rangeNodeActiveText && (rangeNodeActiveText.innerHTML = '0%')
|
||||||
startScreenShotObject = new startScreenShot()
|
// startScreenShotObject = new startScreenShot()
|
||||||
},
|
// },
|
||||||
closeCallBack: () => {
|
// closeCallBack: () => {
|
||||||
sdk.viewer.scene.screenSpaceCameraController.enableTranslate = enableTranslate;
|
// sdk.viewer.scene.screenSpaceCameraController.enableTranslate = enableTranslate;
|
||||||
sdk.viewer.scene.screenSpaceCameraController.enableTilt = enableTilt;
|
// sdk.viewer.scene.screenSpaceCameraController.enableTilt = enableTilt;
|
||||||
sdk.viewer.scene.screenSpaceCameraController.enableLook = enableLook;
|
// sdk.viewer.scene.screenSpaceCameraController.enableLook = enableLook;
|
||||||
sdk.viewer._element.getElementsByClassName('compass')[0].style.pointerEvents = 'auto'
|
// sdk.viewer._element.getElementsByClassName('compass')[0].style.pointerEvents = 'auto'
|
||||||
if (startScreenShotObject) {
|
// if (startScreenShotObject) {
|
||||||
startScreenShotObject.desist()
|
// startScreenShotObject.desist()
|
||||||
startScreenShotObject = null
|
// startScreenShotObject = null
|
||||||
}
|
// }
|
||||||
_DialogObject = undefined
|
// _DialogObject = undefined
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
_DialogObject._element.body.className = _DialogObject._element.body.className + ' screenShotHD'
|
// _DialogObject._element.body.className = _DialogObject._element.body.className + ' screenShotHD'
|
||||||
let contentElm = document.createElement('div');
|
// let contentElm = document.createElement('div');
|
||||||
contentElm.innerHTML = `
|
// contentElm.innerHTML = `
|
||||||
<span class="custom-divider"></span>
|
// <span class="custom-divider"></span>
|
||||||
<div class="div-item">
|
// <div class="div-item">
|
||||||
<div class="row text" style="align-items: flex-start;">
|
// <div class="row text" style="align-items: flex-start;">
|
||||||
<div class="col">
|
// <div class="col">
|
||||||
<span>当前窗口长宽:<span class="input-width">${sdk.viewer.canvas.width}</span>*<span class="input-height">${sdk.viewer.canvas.height}</span>像素</span>
|
// <span>当前窗口长宽:<span class="input-width">${sdk.viewer.canvas.width}</span>*<span class="input-height">${sdk.viewer.canvas.height}</span>像素</span>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
<div class="row scale-box" style="align-items: flex-start;">
|
// <div class="row scale-box" style="align-items: flex-start;">
|
||||||
<div class="col">
|
// <div class="col">
|
||||||
<span class="label">图片大小</span>
|
// <span class="label">图片大小</span>
|
||||||
<div class="input input-select scale"></div>
|
// <div class="input input-select scale"></div>
|
||||||
<span>倍窗口</span>
|
// <span>倍窗口</span>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
<div class="row text" style="align-items: flex-start;">
|
// <div class="row text" style="align-items: flex-start;">
|
||||||
<div class="col">
|
// <div class="col">
|
||||||
<span>输出图片长宽:<span class="output-width">${sdk.viewer.canvas.width * scale}</span>*<span class="output-height">${sdk.viewer.canvas.height * scale}</span>像素</span>
|
// <span>输出图片长宽:<span class="output-width">${sdk.viewer.canvas.width * scale}</span>*<span class="output-height">${sdk.viewer.canvas.height * scale}</span>像素</span>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
<div class="row" style="align-items: flex-start; margin-bottom: 20px;">
|
// <div class="row" style="align-items: flex-start; margin-bottom: 20px;">
|
||||||
<div class="col">
|
// <div class="col">
|
||||||
<span class="label">输出进度</span>
|
// <span class="label">输出进度</span>
|
||||||
<div class="range-box">
|
// <div class="range-box">
|
||||||
<div class="range-bg">
|
// <div class="range-bg">
|
||||||
<div class="range-process-box">
|
// <div class="range-process-box">
|
||||||
<div class="range-process"></div>
|
// <div class="range-process"></div>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
<div class="range-node-box">
|
// <div class="range-node-box">
|
||||||
<span class="range-node-text">0%</span>
|
// <span class="range-node-text">0%</span>
|
||||||
<span class="range-node-text">100%</span>
|
// <span class="range-node-text">100%</span>
|
||||||
<div class="range-node-active"><span class="range-node-active-text">0%</span></div>
|
// <div class="range-node-active"><span class="range-node-active-text">0%</span></div>
|
||||||
</div>
|
// </div>
|
||||||
<input class="progress-input" type="range" max="100" min="0" step="0.01">
|
// <input class="progress-input" type="range" max="100" min="0" step="0.01">
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
<span class="custom-divider"></span>
|
// <span class="custom-divider"></span>
|
||||||
`
|
// `
|
||||||
_DialogObject.contentAppChild(contentElm)
|
// _DialogObject.contentAppChild(contentElm)
|
||||||
|
|
||||||
sdk.viewer.scene.screenSpaceCameraController.enableTranslate = false;
|
sdk.viewer.scene.screenSpaceCameraController.enableTranslate = false;
|
||||||
sdk.viewer.scene.screenSpaceCameraController.enableTilt = false;
|
sdk.viewer.scene.screenSpaceCameraController.enableTilt = false;
|
||||||
@ -210,28 +218,30 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
value: i
|
value: i
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
progressInputElm = document.getElementsByClassName('progress-input')[0]
|
// progressInputElm = document.getElementsByClassName('progress-input')[0]
|
||||||
progressBarElm = document.getElementsByClassName('range-process')[0]
|
// progressBarElm = document.getElementsByClassName('range-process')[0]
|
||||||
rangeNodeActive = contentElm.getElementsByClassName('range-node-active')[0]
|
// rangeNodeActive = contentElm.getElementsByClassName('range-node-active')[0]
|
||||||
rangeNodeActiveText = contentElm.getElementsByClassName('range-node-active-text')[0]
|
// rangeNodeActiveText = contentElm.getElementsByClassName('range-node-active-text')[0]
|
||||||
let scaleDataLegpObject = legp(_DialogObject._element.content.getElementsByClassName('scale-box')[0], ".scale")
|
// let scaleDataLegpObject = legp(_DialogObject._element.content.getElementsByClassName('scale-box')[0], ".scale")
|
||||||
if (scaleDataLegpObject) {
|
// if (scaleDataLegpObject) {
|
||||||
scaleDataLegpObject.legp_search(scaleData)
|
// scaleDataLegpObject.legp_search(scaleData)
|
||||||
let scaleDataLegpElm = _DialogObject._element.content.getElementsByClassName('scale')[0].getElementsByTagName('input')[0]
|
// let scaleDataLegpElm = _DialogObject._element.content.getElementsByClassName('scale')[0].getElementsByTagName('input')[0]
|
||||||
scale = scaleData[0].value
|
// scale = scaleData[0].value
|
||||||
scaleDataLegpObject.legp_searchActive(scaleData[0].value)
|
// scaleDataLegpObject.legp_searchActive(scaleData[0].value)
|
||||||
scaleDataLegpElm.value = scaleData[0].value
|
// scaleDataLegpElm.value = scaleData[0].value
|
||||||
scaleDataLegpElm.addEventListener('input', () => {
|
// scaleDataLegpElm.addEventListener('input', () => {
|
||||||
for (let i = 0; i < scaleData.length; i++) {
|
// for (let i = 0; i < scaleData.length; i++) {
|
||||||
if (scaleData[i].value == scaleDataLegpElm.value) {
|
// if (scaleData[i].value == scaleDataLegpElm.value) {
|
||||||
scale = scaleData[i].value
|
// scale = scaleData[i].value
|
||||||
_DialogObject._element.content.getElementsByClassName('output-width')[0].innerHTML = sdk.viewer.canvas.width * scale
|
// _DialogObject._element.content.getElementsByClassName('output-width')[0].innerHTML = sdk.viewer.canvas.width * scale
|
||||||
_DialogObject._element.content.getElementsByClassName('output-height')[0].innerHTML = sdk.viewer.canvas.height * scale
|
// _DialogObject._element.content.getElementsByClassName('output-height')[0].innerHTML = sdk.viewer.canvas.height * scale
|
||||||
break
|
// break
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class startScreenShot {
|
class startScreenShot {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -498,9 +508,10 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
for (const key in progress) {
|
for (const key in progress) {
|
||||||
totalProgress = totalProgress + progress[key].value
|
totalProgress = totalProgress + progress[key].value
|
||||||
}
|
}
|
||||||
progressBarElm.style.width = totalProgress * 0.99 + '%';
|
// progressBarElm.style.width = totalProgress * 0.99 + '%';
|
||||||
rangeNodeActive.style.left = totalProgress * 0.99 + '%';
|
// rangeNodeActive.style.left = totalProgress * 0.99 + '%';
|
||||||
rangeNodeActiveText.innerHTML = Math.floor(totalProgress * 0.99 * 100) / 100 + '%';
|
// rangeNodeActiveText.innerHTML = Math.floor(totalProgress * 0.99 * 100) / 100 + '%';
|
||||||
|
cd({ width: totalProgress * 0.99, left: totalProgress * 0.99, value: Math.floor(totalProgress * 0.99 * 100) / 100 })
|
||||||
if (count === (MaxTileX - MinTileX + 1) * (MaxTileY - MinTileY + 1)) {
|
if (count === (MaxTileX - MinTileX + 1) * (MaxTileY - MinTileY + 1)) {
|
||||||
let ctx = canvas.getContext('2d');
|
let ctx = canvas.getContext('2d');
|
||||||
let cloneCanvas = canvas.cloneNode(true);
|
let cloneCanvas = canvas.cloneNode(true);
|
||||||
@ -525,10 +536,11 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
tempCanvas.width = totalCanvas.width / scale
|
tempCanvas.width = totalCanvas.width / scale
|
||||||
tempCanvas.height = totalCanvas.height / scale
|
tempCanvas.height = totalCanvas.height / scale
|
||||||
tempCtx.drawImage(totalCanvas, 0, 0, tempCanvas.width, tempCanvas.height);
|
tempCtx.drawImage(totalCanvas, 0, 0, tempCanvas.width, tempCanvas.height);
|
||||||
MapPrint(sdk, tempCanvas.toDataURL('image/jpeg', 0.95), rectangle, imgBlobData)
|
new MapPrint(sdk, tempCanvas.toDataURL('image/jpeg', 0.95), rectangle, imgBlobData, params.modify)
|
||||||
progressBarElm.style.width = '100%';
|
// progressBarElm.style.width = '100%';
|
||||||
rangeNodeActive.style.left = '100%';
|
// rangeNodeActive.style.left = '100%';
|
||||||
rangeNodeActiveText.innerHTML = '100%';
|
// rangeNodeActiveText.innerHTML = '100%';
|
||||||
|
cd({ value: 100 })
|
||||||
_this.state = false
|
_this.state = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -548,10 +560,11 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
tempCtx.drawImage(canvas, 0, 0, tempCanvas.width, tempCanvas.height);
|
tempCtx.drawImage(canvas, 0, 0, tempCanvas.width, tempCanvas.height);
|
||||||
// canvas.width = canvas.width / scale
|
// canvas.width = canvas.width / scale
|
||||||
// canvas.height = canvas.height / scale
|
// canvas.height = canvas.height / scale
|
||||||
MapPrint(sdk, tempCanvas.toDataURL('image/jpeg', 0.95), rectangle, imgBlobData)
|
new MapPrint(sdk, tempCanvas.toDataURL('image/jpeg', 0.95), rectangle, imgBlobData, params.modify)
|
||||||
progressBarElm.style.width = '100%';
|
// progressBarElm.style.width = '100%';
|
||||||
rangeNodeActive.style.left = '100%';
|
// rangeNodeActive.style.left = '100%';
|
||||||
rangeNodeActiveText.innerHTML = '100%';
|
// rangeNodeActiveText.innerHTML = '100%';
|
||||||
|
cd({ value: 100 })
|
||||||
_this.state = false
|
_this.state = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -706,6 +719,8 @@ async function ScreenShotHD(sdk, options = {}, cd = () => { }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
startScreenShotObject = new startScreenShot()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export { ScreenShot, ScreenShotHD }
|
export { ScreenShot, ScreenShotHD }
|
||||||
|
|||||||
@ -26,7 +26,12 @@ export default class Sunshine {
|
|||||||
this.viewer = sdk.viewer
|
this.viewer = sdk.viewer
|
||||||
this.options = { ...options }
|
this.options = { ...options }
|
||||||
this.sdk = { ...sdk }
|
this.sdk = { ...sdk }
|
||||||
this.options.time = options.time || new Date()
|
|
||||||
|
|
||||||
|
const now = new Date();
|
||||||
|
now.setHours(0, 0, 0, 0); // 设置为当天0点
|
||||||
|
this.options.time = options.time
|
||||||
|
this.options.hour = options.hour
|
||||||
this.options.speed = options.speed || 1000
|
this.options.speed = options.speed || 1000
|
||||||
this.options.darkness = options.darkness || 0.4
|
this.options.darkness = options.darkness || 0.4
|
||||||
this.options.softShadow = options.softShadow || true
|
this.options.softShadow = options.softShadow || true
|
||||||
@ -47,9 +52,16 @@ export default class Sunshine {
|
|||||||
that.viewer.terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY
|
that.viewer.terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY
|
||||||
that.viewer.shadowMap.darkness = 1.0 - that.options.darkness //阴影透明度--越大越透明
|
that.viewer.shadowMap.darkness = 1.0 - that.options.darkness //阴影透明度--越大越透明
|
||||||
|
|
||||||
const now = new Date();
|
// const now = new Date();
|
||||||
now.setHours(0, 0, 0, 0); // 设置为当天0点
|
// now.setHours(0, 0, 0, 0); // 设置为当天0点
|
||||||
that.viewer.clock.currentTime = Cesium.JulianDate.fromDate(now);
|
let date
|
||||||
|
if (that.options.time && that.options.hour) {
|
||||||
|
date = new Date(that.options.time + " " + that.options.hour)
|
||||||
|
} else {
|
||||||
|
date = new Date();
|
||||||
|
date.setHours(0, 0, 0, 0); // 设置为当天0点
|
||||||
|
}
|
||||||
|
that.viewer.clock.currentTime = Cesium.JulianDate.fromDate(date);
|
||||||
that.viewer.clock.multiplier = that.options.speed;
|
that.viewer.clock.multiplier = that.options.speed;
|
||||||
that.viewer.shadowMap.softShadows = that.options.softShadow;
|
that.viewer.shadowMap.softShadows = that.options.softShadow;
|
||||||
that.viewer.shadowMap.cascadesEnabled = true
|
that.viewer.shadowMap.cascadesEnabled = true
|
||||||
@ -61,7 +73,7 @@ export default class Sunshine {
|
|||||||
lightCamera.frustum.far = 10000; // 扩大远平面距离
|
lightCamera.frustum.far = 10000; // 扩大远平面距离
|
||||||
that.viewer.shadowMap.normalOffset = true; // 避免深度冲突导致的阴影闪烁
|
that.viewer.shadowMap.normalOffset = true; // 避免深度冲突导致的阴影闪烁
|
||||||
|
|
||||||
that.edit(true)
|
// that.edit(true)
|
||||||
}
|
}
|
||||||
get darkness() {
|
get darkness() {
|
||||||
return this.options.darkness
|
return this.options.darkness
|
||||||
@ -74,6 +86,27 @@ export default class Sunshine {
|
|||||||
item.value = v
|
item.value = v
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
get time() {
|
||||||
|
return this.options.time
|
||||||
|
}
|
||||||
|
set time(v) {
|
||||||
|
this.options.time = v
|
||||||
|
const now = new Date();
|
||||||
|
let timeData = now.setHours(0, 0, 0, 0); // 设置为当天0点
|
||||||
|
this.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date(timeData));
|
||||||
|
|
||||||
|
// _that.timeLine.updateTime(timeData)
|
||||||
|
}
|
||||||
|
set timeBar(v) {
|
||||||
|
let timeData = this.time + " " + v
|
||||||
|
this.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date(timeData));
|
||||||
|
this.viewer.scene.requestRender();
|
||||||
|
}
|
||||||
|
set realTime(v) {
|
||||||
|
const now = new Date();
|
||||||
|
this.viewer.clock.currentTime = Cesium.JulianDate.fromDate(now);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
get speed() {
|
get speed() {
|
||||||
return this.options.speed
|
return this.options.speed
|
||||||
@ -85,7 +118,7 @@ export default class Sunshine {
|
|||||||
item.value = v
|
item.value = v
|
||||||
})
|
})
|
||||||
this.viewer.clock.multiplier = this.options.speed;
|
this.viewer.clock.multiplier = this.options.speed;
|
||||||
this.timeLine.setSpeed(v)
|
// this.timeLine.setSpeed(v)
|
||||||
}
|
}
|
||||||
get softShadow() {
|
get softShadow() {
|
||||||
return this.options.softShadow
|
return this.options.softShadow
|
||||||
@ -115,41 +148,41 @@ export default class Sunshine {
|
|||||||
|
|
||||||
if (state) {
|
if (state) {
|
||||||
let _this = this
|
let _this = this
|
||||||
this._DialogObject = await new Dialog(this.sdk, this.originalOptions, {
|
// this._DialogObject = await new Dialog(this.sdk, this.originalOptions, {
|
||||||
title: '光照属性', left: '180px', top: '100px',
|
// title: '光照属性', left: '180px', top: '100px',
|
||||||
// confirmCallBack: (options) => {
|
// // confirmCallBack: (options) => {
|
||||||
// this.originalOptions = tools.deepCopyObj(this.options)
|
// // this.originalOptions = tools.deepCopyObj(this.options)
|
||||||
// this._DialogObject.close()
|
// // this._DialogObject.close()
|
||||||
// this.Dialog.confirmCallBack && this.Dialog.confirmCallBack(this.originalOptions)
|
// // this.Dialog.confirmCallBack && this.Dialog.confirmCallBack(this.originalOptions)
|
||||||
// syncData(this.sdk, this.options.id)
|
// // syncData(this.sdk, this.options.id)
|
||||||
// syncSplitData(this.sdk, this.options.id)
|
// // syncSplitData(this.sdk, this.options.id)
|
||||||
// this.remove()
|
// // this.remove()
|
||||||
// },
|
// // },
|
||||||
resetCallBack: () => {
|
// resetCallBack: () => {
|
||||||
this.reset()
|
// this.reset()
|
||||||
this.Dialog.resetCallBack && this.Dialog.resetCallBack()
|
// this.Dialog.resetCallBack && this.Dialog.resetCallBack()
|
||||||
},
|
// },
|
||||||
// removeCallBack: () => {
|
// // removeCallBack: () => {
|
||||||
// this.Dialog.removeCallBack && this.Dialog.removeCallBack()
|
// // this.Dialog.removeCallBack && this.Dialog.removeCallBack()
|
||||||
// },
|
// // },
|
||||||
closeCallBack: () => {
|
// closeCallBack: () => {
|
||||||
this.reset()
|
// this.reset()
|
||||||
_this.remove()
|
// _this.remove()
|
||||||
// this.entity.style = new Cesium.Cesium3DTileStyle({
|
// // this.entity.style = new Cesium.Cesium3DTileStyle({
|
||||||
// color: "color('rgba(255,255,255," + this.newData.transparency + ")')",
|
// // color: "color('rgba(255,255,255," + this.newData.transparency + ")')",
|
||||||
// show: true,
|
// // show: true,
|
||||||
// });
|
// // });
|
||||||
this.Dialog.closeCallBack && this.Dialog.closeCallBack()
|
// this.Dialog.closeCallBack && this.Dialog.closeCallBack()
|
||||||
},
|
// },
|
||||||
showCallBack: (show) => {
|
// showCallBack: (show) => {
|
||||||
this.show = show
|
// this.show = show
|
||||||
this.Dialog.showCallBack && this.Dialog.showCallBack()
|
// this.Dialog.showCallBack && this.Dialog.showCallBack()
|
||||||
}
|
// }
|
||||||
}, true)
|
// }, true)
|
||||||
this._DialogObject._element.body.className = this._DialogObject._element.body.className + ' sun-shine-surface'
|
// this._DialogObject._element.body.className = this._DialogObject._element.body.className + ' sun-shine-surface'
|
||||||
let contentElm = document.createElement('div');
|
// let contentElm = document.createElement('div');
|
||||||
contentElm.innerHTML = html()
|
// contentElm.innerHTML = html()
|
||||||
this._DialogObject.contentAppChild(contentElm)
|
// this._DialogObject.contentAppChild(contentElm)
|
||||||
|
|
||||||
//时间轴
|
//时间轴
|
||||||
let _that = this
|
let _that = this
|
||||||
@ -159,8 +192,6 @@ export default class Sunshine {
|
|||||||
let timeData = _that.time + " " + item
|
let timeData = _that.time + " " + item
|
||||||
_that.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date(timeData));
|
_that.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date(timeData));
|
||||||
_that.viewer.scene.requestRender();
|
_that.viewer.scene.requestRender();
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
let jeDateObject
|
let jeDateObject
|
||||||
let printDateElm = contentElm.getElementsByClassName('sunshine-date')[0]
|
let printDateElm = contentElm.getElementsByClassName('sunshine-date')[0]
|
||||||
@ -228,7 +259,7 @@ export default class Sunshine {
|
|||||||
this.viewer.clock.multiplier = 1.0
|
this.viewer.clock.multiplier = 1.0
|
||||||
this.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date());
|
this.viewer.clock.currentTime = Cesium.JulianDate.fromDate(new Date());
|
||||||
this.entity = null
|
this.entity = null
|
||||||
this.timeLine.clear()
|
this.timeLine && this.timeLine.clear()
|
||||||
|
|
||||||
this.viewer.shadowMap.cascadesEnabled = false
|
this.viewer.shadowMap.cascadesEnabled = false
|
||||||
this.viewer.shadowMap.size = 1024;
|
this.viewer.shadowMap.size = 1024;
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import { updateCluster } from './cluster/cluster'
|
|||||||
import { getHost } from "../on";
|
import { getHost } from "../on";
|
||||||
|
|
||||||
let coordinateSystem = 'EPSG:4326'
|
let coordinateSystem = 'EPSG:4326'
|
||||||
|
let positionType = '度'
|
||||||
let _cartesian
|
let _cartesian
|
||||||
let GroundCover = true
|
let GroundCover = true
|
||||||
let bimPickObject = {}
|
let bimPickObject = {}
|
||||||
@ -197,14 +198,40 @@ function CesiumContainer(sdk, options) {
|
|||||||
let position = tools.cartesian3Towgs84(_cartesian, sdk.viewer)
|
let position = tools.cartesian3Towgs84(_cartesian, sdk.viewer)
|
||||||
// position.alt = height
|
// position.alt = height
|
||||||
if (coordinateSystem === 'EPSG:4326') {
|
if (coordinateSystem === 'EPSG:4326') {
|
||||||
infoElm.innerHTML = `
|
// infoElm.innerHTML = `
|
||||||
|
// <span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
||||||
|
// <span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
||||||
|
// <span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
// `
|
||||||
|
switch (positionType || '度') {
|
||||||
|
case '度':
|
||||||
|
infoElm.innerHTML = `
|
||||||
<span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
<span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
||||||
<span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
<span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
||||||
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
`
|
`
|
||||||
|
break;
|
||||||
|
case '度分':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, true)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, true)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
case '度分秒':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, false)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, false)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', coordinateSystem)
|
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', coordinateSystem)
|
||||||
|
console.log(result, 'result12');
|
||||||
infoElm.innerHTML = `
|
infoElm.innerHTML = `
|
||||||
<span>x:</span><span>${Number(result.points[0].x.toFixed(6))}</span>
|
<span>x:</span><span>${Number(result.points[0].x.toFixed(6))}</span>
|
||||||
<span style="margin-left: 5px;">y:</span><span>${Number(result.points[0].y.toFixed(6))}</span>
|
<span style="margin-left: 5px;">y:</span><span>${Number(result.points[0].y.toFixed(6))}</span>
|
||||||
@ -723,7 +750,6 @@ function splitScreen(sdk, status) {
|
|||||||
item.entity && (item.entity.splitDirection = value)
|
item.entity && (item.entity.splitDirection = value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -745,14 +771,40 @@ function setCoordinateSystem(sdk, epsg) {
|
|||||||
let proj = sdk.proj
|
let proj = sdk.proj
|
||||||
let position = tools.cartesian3Towgs84(_cartesian, sdk.viewer)
|
let position = tools.cartesian3Towgs84(_cartesian, sdk.viewer)
|
||||||
if (coordinateSystem === 'EPSG:4326') {
|
if (coordinateSystem === 'EPSG:4326') {
|
||||||
infoElm.innerHTML = `
|
// infoElm.innerHTML = `
|
||||||
|
// <span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
||||||
|
// <span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
||||||
|
// <span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
// `
|
||||||
|
switch (positionType || '度') {
|
||||||
|
case '度':
|
||||||
|
infoElm.innerHTML = `
|
||||||
<span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
<span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
||||||
<span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
<span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
||||||
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
`
|
`
|
||||||
|
break;
|
||||||
|
case '度分':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, true)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, true)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
case '度分秒':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, false)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, false)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', coordinateSystem)
|
let result = proj.convert([{ x: position.lng, y: position.lat, z: position.alt }], 'EPSG:4326', coordinateSystem)
|
||||||
|
console.log(result, 'result')
|
||||||
infoElm.innerHTML = `
|
infoElm.innerHTML = `
|
||||||
<span>x:</span><span>${Number(result.points[0].x.toFixed(6))}</span>
|
<span>x:</span><span>${Number(result.points[0].x.toFixed(6))}</span>
|
||||||
<span style="margin-left: 5px;">y:</span><span>${Number(result.points[0].y.toFixed(6))}</span>
|
<span style="margin-left: 5px;">y:</span><span>${Number(result.points[0].y.toFixed(6))}</span>
|
||||||
@ -761,6 +813,52 @@ function setCoordinateSystem(sdk, epsg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDMS() {
|
||||||
|
return positionType
|
||||||
|
}
|
||||||
|
function setDMS(sdk, type) {
|
||||||
|
if (coordinateSystem !== 'EPSG:4326') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
positionType = type
|
||||||
|
if (!sdk || !sdk.viewer || !sdk.viewer._element) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let infoElm = sdk.viewer._element.getElementsByClassName('cesium-info')[0]
|
||||||
|
if (!_cartesian || !infoElm) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let tools = new Tools()
|
||||||
|
let proj = sdk.proj
|
||||||
|
let position = tools.cartesian3Towgs84(_cartesian, sdk.viewer)
|
||||||
|
switch (type) {
|
||||||
|
case '度':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${Number(position.lng.toFixed(6))}° </span>
|
||||||
|
<span>纬度:</span><span>${Number(position.lat.toFixed(6))}° </span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
case '度分':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, true)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, true)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
case '度分秒':
|
||||||
|
infoElm.innerHTML = `
|
||||||
|
<span>经度:</span><span>${proj.degreesToDMS(position.lng, false)}</span>
|
||||||
|
<span>纬度:</span><span>${proj.degreesToDMS(position.lat, false)}</span>
|
||||||
|
<span>海拔高度:</span><span>${Number(position.alt.toFixed(2))}米</span>
|
||||||
|
`
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
proj.degreesToDMS(position.lng, true)
|
||||||
|
}
|
||||||
|
|
||||||
function cameraChanged(sdk, cb) {
|
function cameraChanged(sdk, cb) {
|
||||||
let tools = new Tools()
|
let tools = new Tools()
|
||||||
//设置相机变化的监听事件
|
//设置相机变化的监听事件
|
||||||
@ -846,4 +944,4 @@ function enablePerspective(sdk, alpha = 1) {
|
|||||||
sdk.viewer.scene.globe.translucency.frontFaceAlpha = alpha
|
sdk.viewer.scene.globe.translucency.frontFaceAlpha = alpha
|
||||||
}
|
}
|
||||||
|
|
||||||
export { getCurrentView, setDefaultView, flyTo, CameraController, CesiumContainer, setBillboardDefaultUrl, getBillboardDefaultUrl, setGroundCover, getGroundCover, getBimPickStatus, setBimPickStatus, rotateAround, closeRotateAround, closeViewFollow, FlwStatusSwitch, JwwStatusSwitch, getFlwStatus, getJwwStatus, getCoordinateSystem, setCoordinateSystem, cameraChanged, setMaximumRequestsPerServer, setKeyboardEventActive, getTheme, setTheme, getCesiumIndexedDBMaxSize, setCesiumIndexedDBMaxSize, getCesiumManageIndexexDBState, setCesiumManageIndexexDBState, getCesiumIndexedDBCurrentSize, setActiveViewer, enablePerspective }
|
export { getCurrentView, setDefaultView, flyTo, CameraController, CesiumContainer, setBillboardDefaultUrl, getBillboardDefaultUrl, setGroundCover, getGroundCover, getBimPickStatus, setBimPickStatus, rotateAround, closeRotateAround, closeViewFollow, FlwStatusSwitch, JwwStatusSwitch, getFlwStatus, getJwwStatus, getCoordinateSystem, setCoordinateSystem, getDMS, setDMS, cameraChanged, setMaximumRequestsPerServer, setKeyboardEventActive, getTheme, setTheme, getCesiumIndexedDBMaxSize, setCesiumIndexedDBMaxSize, getCesiumManageIndexexDBState, setCesiumManageIndexexDBState, getCesiumIndexedDBCurrentSize, setActiveViewer, enablePerspective }
|
||||||
|
|||||||
@ -17,6 +17,8 @@ import {
|
|||||||
rotateAround,
|
rotateAround,
|
||||||
getCoordinateSystem,
|
getCoordinateSystem,
|
||||||
setCoordinateSystem,
|
setCoordinateSystem,
|
||||||
|
getDMS,
|
||||||
|
setDMS,
|
||||||
cameraChanged,
|
cameraChanged,
|
||||||
setMaximumRequestsPerServer,
|
setMaximumRequestsPerServer,
|
||||||
setKeyboardEventActive,
|
setKeyboardEventActive,
|
||||||
@ -324,6 +326,8 @@ if (!window.YJ) {
|
|||||||
rotateAround,
|
rotateAround,
|
||||||
getCoordinateSystem,
|
getCoordinateSystem,
|
||||||
setCoordinateSystem,
|
setCoordinateSystem,
|
||||||
|
getDMS,
|
||||||
|
setDMS,
|
||||||
DTH,
|
DTH,
|
||||||
cameraChanged,
|
cameraChanged,
|
||||||
setMaximumRequestsPerServer,
|
setMaximumRequestsPerServer,
|
||||||
|
|||||||
@ -117,7 +117,6 @@ class TextBox extends Base {
|
|||||||
// alt: height
|
// alt: height
|
||||||
}
|
}
|
||||||
let posi = Cesium.Cartesian3.fromDegrees(longitude, latitude, cartographic.height)
|
let posi = Cesium.Cartesian3.fromDegrees(longitude, latitude, cartographic.height)
|
||||||
|
|
||||||
that.handler = function () {
|
that.handler = function () {
|
||||||
const position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
|
const position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
|
||||||
that.sdk.viewer.scene, posi
|
that.sdk.viewer.scene, posi
|
||||||
@ -150,7 +149,6 @@ class TextBox extends Base {
|
|||||||
let that = this
|
let that = this
|
||||||
that.sdk.viewer.scene.postRender.removeEventListener(that.handler);
|
that.sdk.viewer.scene.postRender.removeEventListener(that.handler);
|
||||||
let posi = Cesium.Cartesian3.fromDegrees(position.lng, position.lat, position.alt)
|
let posi = Cesium.Cartesian3.fromDegrees(position.lng, position.lat, position.alt)
|
||||||
|
|
||||||
that.handler = function () {
|
that.handler = function () {
|
||||||
const position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
|
const position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(
|
||||||
that.sdk.viewer.scene, posi
|
that.sdk.viewer.scene, posi
|
||||||
|
|||||||
@ -473,8 +473,10 @@ class YJEarth {
|
|||||||
_this.isLeftClick = true
|
_this.isLeftClick = true
|
||||||
_this.entityMap.get(_this.clickTextDom.id).isClick(movement.position, _this.clickTextDom.id)
|
_this.entityMap.get(_this.clickTextDom.id).isClick(movement.position, _this.clickTextDom.id)
|
||||||
|
|
||||||
|
_this.blurFun && _this.clickTextDom.querySelector('textarea').removeEventListener('blur', _this.blurFun)
|
||||||
_this.blurFun = () => {
|
_this.blurFun = () => {
|
||||||
_this.entityMap.get(_this.clickTextDom.id).isClick((movement && movement.position) || null, _this.clickTextDom.id)
|
_this.entityMap.get(_this.clickTextDom.id).isClick((movement && movement.position) || null, _this.clickTextDom.id)
|
||||||
|
|
||||||
_this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value)
|
_this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value)
|
||||||
}
|
}
|
||||||
_this.clickTextDom.querySelector('textarea').addEventListener('blur', _this.blurFun)
|
_this.clickTextDom.querySelector('textarea').addEventListener('blur', _this.blurFun)
|
||||||
@ -532,7 +534,10 @@ class YJEarth {
|
|||||||
_this.clickTextDom.removeEventListener('mousedown', mousedown);
|
_this.clickTextDom.removeEventListener('mousedown', mousedown);
|
||||||
_this.viewer._element.removeEventListener('mousemove', mousemove);
|
_this.viewer._element.removeEventListener('mousemove', mousemove);
|
||||||
_this.viewer._element.removeEventListener('mouseup', mouseup);
|
_this.viewer._element.removeEventListener('mouseup', mouseup);
|
||||||
_this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value)
|
// if (!returnMsg) {
|
||||||
|
// _this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value)
|
||||||
|
// returnMsg = true
|
||||||
|
// }
|
||||||
|
|
||||||
_this.clickTextDom.style['pointer-events'] = 'none'
|
_this.clickTextDom.style['pointer-events'] = 'none'
|
||||||
_this.clickTextDom = undefined
|
_this.clickTextDom = undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user