diff --git a/src/Global/MultiViewportMode/index.js b/src/Global/MultiViewportMode/index.js index 53ec9c0..9e61089 100644 --- a/src/Global/MultiViewportMode/index.js +++ b/src/Global/MultiViewportMode/index.js @@ -49,7 +49,11 @@ async function init(sdk) { sdk2D.viewer.imageryLayers.removeAll() for (let i = 0; i < imageryLayers.length; i++) { let entity = sdk2D.viewer.imageryLayers.addImageryProvider(imageryLayers[i].imageryProvider, imageryLayers[i]._layerIndex) + if(imageryLayers[i]._id) { + entity._id = imageryLayers[i]._id + } entity.show = imageryLayers[i].show + entity.alpha = imageryLayers[i].alpha if (imageryLayers[i]._objectState) { if (imageryLayers[i]._showView == 3) { entity.show = false @@ -136,7 +140,7 @@ async function syncData2(sdk, id, entityId) { options.height = 0 } - if (!that.type || (that.type !== 'tileset' && that.type !== 'bim' && that.type !== 'glb' && that.type !== 'layer')) { + if (!that.type || (that.type !== 'tileset' && that.type !== 'bim' && that.type !== 'glb' && that.type !== 'layer' && that.type !== 'wallStereoscopic')) { if (that.showView == 3) { options.show = false } @@ -227,7 +231,7 @@ async function syncData2(sdk, id, entityId) { obj.options.heightReference = 1 } let options = syncObject.tools.deepCopyObj(obj.options) - if (!obj.type || (obj.type !== 'tileset' && obj.type !== 'bim' && obj.type !== 'glb' && obj.type !== 'layer')) { + if (!obj.type || (obj.type !== 'tileset' && obj.type !== 'bim' && obj.type !== 'glb' && obj.type !== 'layer' && obj.type !== 'wallStereoscopic')) { if (obj.showView == 3) { options.show = false } diff --git a/src/Global/mouseRightMenu/index.js b/src/Global/mouseRightMenu/index.js index 0fd350e..24e360a 100644 --- a/src/Global/mouseRightMenu/index.js +++ b/src/Global/mouseRightMenu/index.js @@ -100,14 +100,14 @@ function MouseRightMenu(sdk, status, callBack) { that = sdk.entityMap.get(entityId) } - if (that && that.picking) { - addedMenu = ` - - - ` - } + // if (that && that.picking) { + // addedMenu = ` + // + // + // ` + // } let position = tools.cartesian3Towgs84(cartesian, sdk.viewer) menuElm = document.createElement('div') menuElm.id = 'custom-menu' diff --git a/src/Measure/MeasureDistance/index.js b/src/Measure/MeasureDistance/index.js index 7bb3749..52755af 100644 --- a/src/Measure/MeasureDistance/index.js +++ b/src/Measure/MeasureDistance/index.js @@ -91,7 +91,7 @@ class MeasureDistance extends Measure { //暂时固定取20个点 - if (d > 20) {//大于20m时,固定取20个点 + if (d > 2) {//大于20m时,固定取20个点 meters = d / 20 await start(meters) } else if (d < 1) { @@ -106,8 +106,8 @@ class MeasureDistance extends Measure { async sampleHeight(p1, index) { - let p2 = await this.sampleHeightMostDetailed([p1]) - p1.alt = p2[0].height + let height = await this.getClampToHeight(p1, [...this.sdk.viewer.entities.values]) + p1.alt = height return {position: p1, index} } diff --git a/src/Obj/Base/BaseSource/BaseLayer/index.js b/src/Obj/Base/BaseSource/BaseLayer/index.js index f4a0a79..083fd74 100644 --- a/src/Obj/Base/BaseSource/BaseLayer/index.js +++ b/src/Obj/Base/BaseSource/BaseLayer/index.js @@ -9,7 +9,7 @@ import Dialog from '../../../Element/Dialog'; import CoordTransform from "../../../../transform/CoordTransform"; import BaseSource from "../index"; -import { syncData } from '../../../../Global/MultiViewportMode' +import { syncData, get2DView } from '../../../../Global/MultiViewportMode' import { setSplitDirection, syncSplitData } from '../../../../Global/SplitScreen' import { setActiveViewer, closeRotateAround, closeViewFollow } from '../../../../Global/global' @@ -244,8 +244,19 @@ class BaseLayer extends BaseSource { this.originalOptions = this.deepCopyObj(this.options) this._DialogObject.close() 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) + let sdk2D = get2DView() + if (sdk2D && sdk2D != this.sdk) { + for(let i=0;i { this.reset() diff --git a/src/Obj/Base/BillboardObject/index.js b/src/Obj/Base/BillboardObject/index.js index efcbfe7..c6275ee 100644 --- a/src/Obj/Base/BillboardObject/index.js +++ b/src/Obj/Base/BillboardObject/index.js @@ -433,31 +433,31 @@ class BillboardObject extends Base { value: '链接', key: 'link' }, - { - name: 'IP摄像头', - value: 'IP摄像头', - key: 'camera' - }, // { - // name: 'ISC摄像头', - // value: 'ISC摄像头', - // key: 'isc' + // name: 'IP摄像头', + // value: 'IP摄像头', + // key: 'camera' + // }, + // // { + // // name: 'ISC摄像头', + // // value: 'ISC摄像头', + // // key: 'isc' + // // }, + // // { + // // name: '传感器', + // // value: '传感器', + // // key: 'sensor' + // // }, + // { + // name: '全景图', + // value: '全景图', + // key: 'vr' // }, // { - // name: '传感器', - // value: '传感器', - // key: 'sensor' - // }, - { - name: '全景图', - value: '全景图', - key: 'vr' - }, - { - name: '物资', - value: '物资', - key: 'goods' - } + // name: '物资', + // value: '物资', + // key: 'goods' + // } ] } diff --git a/src/Obj/Base/PolylineObject/index.js b/src/Obj/Base/PolylineObject/index.js index e184417..561c8c3 100644 --- a/src/Obj/Base/PolylineObject/index.js +++ b/src/Obj/Base/PolylineObject/index.js @@ -825,7 +825,6 @@ class PolylineObject extends Base { set labelLineColor(v) { this.options.label.lineColor = v this.label.lineColor = v - let _this = this if (this._elms.labelLineColor) { this._elms.labelLineColor.forEach((item, i) => { let lineColorPicker = new YJColorPicker({ @@ -840,6 +839,29 @@ class PolylineObject extends Base { }, //点击确认按钮事件回调 clear: () => { this.labelLineColor = 'rgba(0,255,255,0.5)' + } //点击清空按钮事件回调 + }) + this._elms.labelLineColor[i] = lineColorPicker + }) + } + } + + get labelBackgroundColorStart() { + return this.options.label.backgroundColor[0] + } + set labelBackgroundColorStart(v) { + this.options.label.backgroundColor[0] = v + this.label.backgroundColor = [v, this.label.backgroundColor[1]] + if (this._elms.labelBackgroundColorStart) { + this._elms.labelBackgroundColorStart.forEach((item, i) => { + let labelBackgroundColorStartPicker = new YJColorPicker({ + el: item.el, + size: 'mini', //颜色box类型 + alpha: true, //是否开启透明度 + defaultColor: this.labelBackgroundColorStart, + disabled: false, //是否禁止打开颜色选择器 + openPickerAni: 'opacity', //打开颜色选择器动画 + sure: color => { this.labelBackgroundColorStart = color }, //点击确认按钮事件回调 clear: () => { @@ -848,10 +870,11 @@ class PolylineObject extends Base { }) this._elms.labelBackgroundColorStart[ i - ] = _this.labelBackgroundColorStartPicker + ] = labelBackgroundColorStartPicker }) } } + get labelBackgroundColorEnd() { return this.options.label.backgroundColor[1] } diff --git a/src/Obj/Base/TrajectoryMotion/index.js b/src/Obj/Base/TrajectoryMotion/index.js index e02a63a..167135a 100644 --- a/src/Obj/Base/TrajectoryMotion/index.js +++ b/src/Obj/Base/TrajectoryMotion/index.js @@ -2087,7 +2087,7 @@ class TrajectoryMotion extends Base { rubricElm.style.color = '#ff5733'; rubricElm.style.display = 'none' - rubricElm.innerHTML = `场景正北方向为轨迹前进正方向
` + rubricElm.innerHTML = `场景正东方向为轨迹前进正方向
` let iconRubric = contentElm.getElementsByClassName('icon-rubric')[0] iconRubric.addEventListener('mouseenter', (e) => { rubricElm.style.display = 'block' diff --git a/src/Obj/Base/WallStereoscopic/index.js b/src/Obj/Base/WallStereoscopic/index.js index 938f2c1..49a0edf 100644 --- a/src/Obj/Base/WallStereoscopic/index.js +++ b/src/Obj/Base/WallStereoscopic/index.js @@ -88,6 +88,10 @@ class WallStereoscopic extends Base { } } + get type() { + return 'wallStereoscopic' + } + static createLabel(that) { // 标签 that.label = new LabelObject(that.sdk, { diff --git a/src/Obj/Base/index.js b/src/Obj/Base/index.js index 3f16db4..fedb92a 100644 --- a/src/Obj/Base/index.js +++ b/src/Obj/Base/index.js @@ -290,7 +290,7 @@ class Base extends Tools { let destination = Cesium.Cartesian3.fromDegrees(lng, lat, alt) let position = { lng: 0, lat: 0 } - if (this.options.position) { + if (this.options.position && Object.prototype.toString.call(this.options.position) === '[object Object]') { position = { ...this.options.position } } else if (this.options.positions) { @@ -436,7 +436,7 @@ class Base extends Tools { let position = { lng: 0, lat: 0 } let relativePosition = { ...cameraPosition84 } - if (this.options.position) { + if (this.options.position && Object.prototype.toString.call(this.options.position) === '[object Object]') { position = { ...this.options.position } } else if (this.options.positions) { diff --git a/src/Obj/Element/richText.js b/src/Obj/Element/richText.js index 072a599..c63614c 100644 --- a/src/Obj/Element/richText.js +++ b/src/Obj/Element/richText.js @@ -56,8 +56,8 @@ class richText { MENU_CONF: { uploadImage: { fieldName: 'file', - maxFileSize: 50 * 1024 * 1024, - base64LimitSize: 50 * 1024 * 1024, // 50M 以下插入 base64 + // maxFileSize: 50 * 1024 * 1024, + // base64LimitSize: 50 * 1024 * 1024, // 50M 以下插入 base64 server: this.uploadImageServer, // // 上传之前触发 // onBeforeUpload(file) { // TS 语法 @@ -95,18 +95,18 @@ class richText { // console.log(`${file.name} 上传出错`, err, res) // }, - // // 自定义上传 - // async customUpload(file, insertFn) { // TS 语法 - // // async customUpload(file, insertFn) { // JS 语法 - // // file 即选中的文件 - // // 自己实现上传,并得到图片 url alt href - // // 最后插入图片 - // console.log(file, insertFn) - // insertFn(url, file.name) - // } + // 自定义上传 + async customUpload(file, insertFn) { // TS 语法 + // async customUpload(file, insertFn) { // JS 语法 + // file 即选中的文件 + // 自己实现上传,并得到图片 url alt href + // 最后插入图片 + let url = await _this.upload(file) + insertFn((_this.host = _this.host || getHost()) + '/' + url) + } }, uploadVideo: { - maxFileSize: 500 * 1024 * 1024, + // maxFileSize: 500 * 1024 * 1024, server: this.uploadVideoServer, allowedFileTypes: ['video/mp4', 'video/mp3', 'video/ogg', 'video/webm', 'video/avi'], // 自定义上传 diff --git a/src/Obj/Materail/WallMaterialProperty.js b/src/Obj/Materail/WallMaterialProperty.js index b71c889..bda11b0 100644 --- a/src/Obj/Materail/WallMaterialProperty.js +++ b/src/Obj/Materail/WallMaterialProperty.js @@ -70,7 +70,7 @@ function StreamWall1() { fragColor.rgb = color.rgb / 1.0;\n\ fragColor = czm_gammaCorrect(fragColor);\n\ material.alpha = colorImage.a * color.a;\n\ - material.diffuse = (colorImage.rgb+color.rgb)/2.0;\n\ + material.diffuse = color.rgb/20.0;\n\ material.emission = fragColor.rgb;\n\ return material;\n\ }"; @@ -208,6 +208,14 @@ function StreamWall2() { Property.equals(this.repeat, other._repeat) && Property.equals(this.repeats, other._repeats) }; + // let code2 = 'material.diffuse = color.rgb*1.0;' + // if (uniforms.is2D) { + // code2 = ` + // material.diffuse = color.rgb*0.0; + // material.emission = color.rgb * 1.0; + // ` + // } + // console.log(code2, uniforms.is2D) // 将定义的材质对象添加到cesium的材质队列中 Material._materialCache.addMaterial(MaterialType, { fabric: { @@ -230,8 +238,8 @@ function StreamWall2() { else { material.alpha = 1.0; } - material.diffuse = colorImage.rgb*color.rgb*0.0; - material.emission = colorImage.rgb*color.rgb * 1.4; + material.diffuse = color.rgb*0.0; + material.emission = color.rgb * 1.0; return material; }`, components: { diff --git a/static/custom/fonts/PangMenZhengDaoBiaoTiTi-1.ttf b/static/custom/fonts/PangMenZhengDaoBiaoTiTi-1.ttf index 61d491d..cd65b62 100644 Binary files a/static/custom/fonts/PangMenZhengDaoBiaoTiTi-1.ttf and b/static/custom/fonts/PangMenZhengDaoBiaoTiTi-1.ttf differ