From cc021a0544a8c0b2a056cec3168da119515a8e38 Mon Sep 17 00:00:00 2001
From: ansel0926 <ansel0926@gmail.com>
Date: 星期六, 14 五月 2022 16:53:59 +0800
Subject: [PATCH] 点标记
---
libs/Cesiumplus/CesiumDraw.js | 80 +++++++++++++++++++++++++++-------------
1 files changed, 54 insertions(+), 26 deletions(-)
diff --git a/libs/Cesiumplus/CesiumDraw.js b/libs/Cesiumplus/CesiumDraw.js
index 8ef7e66..77ed059 100644
--- a/libs/Cesiumplus/CesiumDraw.js
+++ b/libs/Cesiumplus/CesiumDraw.js
@@ -472,32 +472,60 @@
drawHandler.setInputAction(function (movement) {
//鑾峰彇榧犳爣鐐瑰嚮澶勭殑鍧愭爣
drawHandler = drawHandler && drawHandler.destroy();
- var cartesian = options.viewer.scene.pickPosition(movement.position);
- var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
- var height = cartographic.height;//妯″瀷楂樺害
- if (Number(height) < 0) {
- var ray = options.viewer.camera.getPickRay(movement.position);
- cartesian = options.viewer.scene.globe.pick(ray, options.viewer.scene);
- }
- cartographic = Cesium.Cartographic.fromCartesian(cartesian);
- height = cartographic.height;//鍦板舰楂樺害
- // var lng = Cesium.Math.toDegrees(cartographic.longitude);
- // var lat = Cesium.Math.toDegrees(cartographic.latitude);
- // var poiResult = lng + "," + lat + "," + height;
- // document.getElementById(options.printId).value = poiResult;
- // var drawPointEntity = options.viewer.entities.getById("drawPointEntity");
- // if(drawPointEntity == undefined){
- var entity = viewer.entities.add({
- name: 'drawPointEntity',
- position: cartesian.clone(),
- point: {
- color: options.pointcolor,
- pixelSize: 10,
- outlineColor: Cesium.Color.WHITE,
- outlineWidth: 2,
- disableDepthTestDistance: Number.POSITIVE_INFINITY
+ // var cartesian = options.viewer.scene.pickPosition(movement.position);
+ // var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+ // var height = cartographic.height;//妯″瀷楂樺害
+ // if (Number(height) < 0) {
+ // var ray = options.viewer.camera.getPickRay(movement.position);
+ // cartesian = options.viewer.scene.globe.pick(ray, options.viewer.scene);
+ // }
+ // cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+ // height = cartographic.height;//鍦板舰楂樺害
+ // var entity = viewer.entities.add({
+ // name: 'drawPointEntity',
+ // position: cartesian.clone(),
+ // point: {
+ // color: options.pointcolor,
+ // pixelSize: 10,
+ // outlineColor: Cesium.Color.WHITE,
+ // outlineWidth: 2,
+ // disableDepthTestDistance: Number.POSITIVE_INFINITY
+ // }
+ // });
+ let position = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid);
+ var entity=viewer.entities.add({
+ name:"drawPointEntity",
+ position:position,
+ label: {
+ show: true,
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+ horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+ font: 'bold 14px Helvetica',
+ fillColor: Cesium.Color.WHITE,
+ text: "",
+ disableDepthTestDistance: Number.POSITIVE_INFINITY,
+ heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
+ },
+ billboard: {
+ image: "../assets/images/icon/icon1.png",
+ width: 40,
+ height: 40,
+ rotation: 0,
+ verticalOrigin: Cesium.VerticalOrigin.TOP,
+ horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+ disableDepthTestDistance: Number.POSITIVE_INFINITY,//骞垮憡鐗屼笉杩涜娣卞害妫�娴�
+ heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000000.0)
}
});
+ var cartesian = entity._position._value
+ let popup = new Popup({
+ viewer:viewer,
+ geometry:cartesian,
+ entity:entity,
+ id: "pop_" + entity.id
+ })
entity.title = "鐐�" + new Date().format("yyyyMMddhhmmss");
addTreeNode({
"title": entity.title,
@@ -507,8 +535,8 @@
"spread": true,
"children": [],
"ext": {
- "lng": Cesium.Math.toDegrees(cartographic.longitude),
- "lat": Cesium.Math.toDegrees(cartographic.latitude)
+ "lng": Cesium.Math.toDegrees(cartesian.x),
+ "lat": Cesium.Math.toDegrees(cartesian.y)
}
}, "4");
saveDrawEntity("point",entity,entity.id);
--
Gitblit v1.9.1