From f0efddd9e32b9c5dc828401c4092be004b4826cf Mon Sep 17 00:00:00 2001 From: ansel0926 <ansel0926@gmail.com> Date: 星期三, 18 五月 2022 12:05:08 +0800 Subject: [PATCH] 添加标签 --- libs/Cesiumplus/CesiumDraw.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 56 insertions(+), 1 deletions(-) diff --git a/libs/Cesiumplus/CesiumDraw.js b/libs/Cesiumplus/CesiumDraw.js index 71b3880..55a6c78 100644 --- a/libs/Cesiumplus/CesiumDraw.js +++ b/libs/Cesiumplus/CesiumDraw.js @@ -475,17 +475,24 @@ //鑾峰彇榧犳爣鐐瑰嚮澶勭殑鍧愭爣 drawHandler = drawHandler && drawHandler.destroy(); let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid); + position = viewer.scene.pickPosition(movement.position); let pointText="鐐�" + new Date().format("yyyyMMddhhmmss"); var entity=viewer.entities.add({ name:"drawPointEntity", position:position, label: { + text: pointText, show: true, verticalOrigin: Cesium.VerticalOrigin.BOTTOM, horizontalOrigin: Cesium.HorizontalOrigin.CENTER, font: '10px SimSun', fillColor: Cesium.Color.WHITE, - text: pointText, + 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: window.localStorage.getItem("visualDistance")?new Cesium.DistanceDisplayCondition(0, window.localStorage.getItem("visualDistance")):new Cesium.DistanceDisplayCondition(0, 100000.0) @@ -535,6 +542,7 @@ //鑾峰彇榧犳爣鐐瑰嚮澶勭殑鍧愭爣 drawHandler = drawHandler && drawHandler.destroy(); let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid); + position = viewer.scene.pickPosition(movement.position); let labelText="鏂囧瓧" + new Date().format("yyyyMMddhhmmss"); var entity=viewer.entities.add({ name:"drawLabelEntity", @@ -545,7 +553,11 @@ horizontalOrigin: Cesium.HorizontalOrigin.CENTER, font: '30px SimSun', fillColor: Cesium.Color.WHITE, + outlineColor: Cesium.Color.BLACK, + outlineWidth: 2, + style: Cesium.LabelStyle.FILL_AND_OUTLINE, text: labelText, + eyeOffset:new Cesium.Cartesian3(0,20,0), 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) @@ -588,6 +600,49 @@ }, Cesium.ScreenSpaceEventType.LEFT_CLICK); } + CesiumDraw.drawText = function (options) { + drawHandler = drawHandler && drawHandler.destroy(); + drawHandler = new Cesium.ScreenSpaceEventHandler(options.viewer.scene.canvas); + drawHandler.setInputAction(function (movement) { + let position = viewer.scene.pickPosition(movement.position); + let labelText="鏍囩" + new Date().format("yyyyMMddhhmmss"); + var entity=viewer.entities.add({ + name:"drawTextEtity", + position:position, + label: { + show: true, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + font: '20px LiSu', + fillColor: Cesium.Color.YELLOW, + outlineColor: Cesium.Color.BLACK, + outlineWidth: 2, + style: Cesium.LabelStyle.FILL_AND_OUTLINE, + text: labelText, + 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) + }, + }); + entity.title = labelText; + var cartesian = entity._position._value + addTreeNode({ + "title": entity.title, + "id": entity.id, + "field": "Entity", + "checked": true, + "spread": true, + "children": [], + "ext": { + "lng": Cesium.Math.toDegrees(cartesian.x), + "lat": Cesium.Math.toDegrees(cartesian.y) + } + }, "4"); + saveDrawEntity("text",entity,entity.id); + drawHandler = drawHandler && drawHandler.destroy(); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + } + CesiumDraw.clearDraw = function (options) { } -- Gitblit v1.9.1