From 00b733dc6ae372be365a01046ead5c062d8f5617 Mon Sep 17 00:00:00 2001 From: ansel0926 <ansel0926@gmail.com> Date: 星期二, 17 五月 2022 18:43:44 +0800 Subject: [PATCH] 更换字体图片 --- assets/map/map3D.js | 88 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 73 insertions(+), 15 deletions(-) diff --git a/assets/map/map3D.js b/assets/map/map3D.js index 7d997e6..269e21d 100644 --- a/assets/map/map3D.js +++ b/assets/map/map3D.js @@ -9,6 +9,8 @@ var userId; var userName; +var layerMap=new Map();//瀛樺偍id鍜屽浘灞傜殑index绱㈠紩缁撴瀯 + var entityMouseClickListenerIsEnable = true; var previousTime;//鍦扮悆鏃嬭浆鐨勫弬鏁� @@ -292,7 +294,8 @@ let title=entity.title; let lineColor=entity._polyline._material._color._value.toCssHexString(); let lineSize=entity._polyline._width._value; - iframe.child(id,title,lineColor,lineSize,pick); + let attributes = pick.primitive.getGeometryInstanceAttributes(pick.id); + iframe.child(id,title,lineColor,lineSize,attributes); } }); } @@ -932,7 +935,7 @@ else if(type==5){ let urlArr = val.split("/"); let newUrl=urlArr.splice(4).join("/") - $("#" + popId).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = val; + $("#" + popId).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = parent.httpConfig.nginxUrl+newUrl; saveData= { "id":signPointEntity._id, "type": "point", @@ -943,7 +946,7 @@ else if(type==6){ let urlArr = val.split("/"); let newUrl=urlArr.splice(4).join("/") - signPointEntity._billboard._image._value=parent.httpConfig.nginxUrl+newUrl;; + signPointEntity._billboard._image._value=parent.httpConfig.nginxUrl+newUrl; saveData= { "id":signPointEntity._id, "type": "point", @@ -980,8 +983,7 @@ }); } -function updateLine(type,id,val,pick){//淇敼绾匡細zzf - let attributes = pick.primitive.getGeometryInstanceAttributes( pick.id ); +function updateLine(type,id,val,attributes){//淇敼绾匡細zzf let signPointEntity = viewer.entities.getById(id); let saveData; if(type==1){//绾垮悕绉� @@ -1408,7 +1410,6 @@ } function initDrawEntity(){//zzf:鍒濆鍖栧浘褰� - let token = window.localStorage.getItem("token"); $.ajax({ type: "get", @@ -1433,6 +1434,9 @@ else if(data.rows[i].type=="label"){ drawAjaxLabel(data.rows[i]) } + else if(data.rows[i].type=="text"){ + drawAjaxText(data.rows[i]) + } } } }, @@ -1453,15 +1457,16 @@ label: { text: drawEntity.content, font: drawEntity.fontsize+'px '+drawEntity.fontstyle, - fillColor: Cesium.Color.fromCssColorString(drawEntity.color), + fillColor: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE, outlineColor: Cesium.Color.BLACK, outlineWidth: 2, style: Cesium.LabelStyle.FILL_AND_OUTLINE, + eyeOffset:new Cesium.Cartesian3(0,20,0), verticalOrigin: Cesium.VerticalOrigin.BOTTOM, horizontalOrigin: Cesium.HorizontalOrigin.CENTER, disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) + distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) }, billboard: { image: iconPath, @@ -1472,7 +1477,7 @@ horizontalOrigin: Cesium.HorizontalOrigin.CENTER, disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) + distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) } }); if(drawEntity.content!=null&&drawEntity.content!=""){ @@ -1490,7 +1495,7 @@ content:drawEntity.popContent?drawEntity.popContent:null, }) if( drawEntity.imagePath!=null&& drawEntity.imagePath!=""){ - $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = parent.httpConfig.webApiUrl+drawEntity.imagePath; + $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = parent.httpConfig.nginxUrl+drawEntity.imagePath; } document.getElementById("pop_" +entity.id).style.display="none"; addTreeNode({ @@ -1525,7 +1530,8 @@ clampToGround: true, width: drawEntity.fontsize?drawEntity.fontsize:1, material: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):new Cesium.Color.fromBytes(255,124,0,255), - positions:measureLinePositonsArray + positions:measureLinePositonsArray, + distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0) }, drawpointArr: drawpointArr, measureLinePositonsArray: measureLinePositonsArray @@ -1575,7 +1581,8 @@ outlineColor: Cesium.Color.WHITE, hierarchy: new Cesium.CallbackProperty(function () { return polygon; - }, false) + }, false), + distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000.0) } }); if(drawEntity.content!=null&&drawEntity.content!=""){ @@ -1609,15 +1616,17 @@ label: { text: drawEntity.content, font: drawEntity.fontsize+'px '+drawEntity.fontstyle, - fillColor: Cesium.Color.fromCssColorString(drawEntity.color), + fillColor: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE, outlineColor: Cesium.Color.BLACK, outlineWidth: 2, style: Cesium.LabelStyle.FILL_AND_OUTLINE, + //pixelOffset: new Cesium.Cartesian2(0.0, 5.0), + eyeOffset:new Cesium.Cartesian3(0,20,0), verticalOrigin: Cesium.VerticalOrigin.BOTTOM, horizontalOrigin: Cesium.HorizontalOrigin.CENTER, disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) + distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) }, billboard: { image: iconPath, @@ -1628,7 +1637,7 @@ horizontalOrigin: Cesium.HorizontalOrigin.CENTER, disableDepthTestDistance: Number.POSITIVE_INFINITY, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0) + distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) } }); if(drawEntity.content!=null&&drawEntity.content!=""){ @@ -1661,4 +1670,53 @@ "lat": Cesium.Math.toDegrees(cartographic.latitude) } }, "4"); +} + +function drawAjaxText(drawEntity){//鍔犺浇鏍囩 + let cartesian = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height); + var cartographic = Cesium.Cartographic.fromCartesian(cartesian); + var entity=viewer.entities.add({ + id:drawEntity.id, + name:"drawTextEtity", + position:cartesian, + label: { + text: drawEntity.content?drawEntity.content:new Date(drawEntity.createTime).format("yyyyMMddhhmmss"), + font: drawEntity.fontsize+'px '+drawEntity.fontstyle, + fillColor: drawEntity.color?Cesium.Color.fromCssColorString(drawEntity.color):Cesium.Color.WHITE, + outlineColor: Cesium.Color.BLACK, + outlineWidth: 2, + style: Cesium.LabelStyle.FILL_AND_OUTLINE, + //pixelOffset: new Cesium.Cartesian2(0.0, 5.0), + eyeOffset:new Cesium.Cartesian3(0,20,0), + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + disableDepthTestDistance: Number.POSITIVE_INFINITY, + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + distanceDisplayCondition: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) + }, + }); + let popup = new Popup({ + viewer:viewer, + geometry:cartesian, + entity:entity, + id: "pop_" + entity.id, + type:'label', + content:drawEntity.popContent?drawEntity.popContent:null, + }) + if( drawEntity.popContent!=null&& drawEntity.popContent!=""){ + $("#pop_" + entity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".textarea")[0].innerHTML = drawEntity.popContent; + } + document.getElementById("pop_" +entity.id).style.display="none"; + addTreeNode({ + "title": entity.title, + "id": entity.id, + "field": "Entity", + "checked": true, + "spread": true, + "children": [], + "ext": { + "lng": Cesium.Math.toDegrees(cartographic.longitude), + "lat": Cesium.Math.toDegrees(cartographic.latitude) + } + }, "4"); } \ No newline at end of file -- Gitblit v1.9.1