修改线报错
This commit is contained in:
		| @ -880,38 +880,38 @@ class Tools { | ||||
|  | ||||
|     let ray2 = this.sdk.viewer.camera.getPickRay(point2); | ||||
|     let cartesian2 = this.sdk.viewer.scene.globe.pick(ray2, this.sdk.viewer.scene); | ||||
|     if (cartesian1 && cartesian2) { | ||||
|       var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2); | ||||
|  | ||||
|     var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2); | ||||
|       var repeatX = distance / entity.polyline.width.getValue(); | ||||
|       // 根据地图缩放程度调整repeatX | ||||
|       var cameraHeight = this.sdk.viewer.camera.positionCartographic.height; | ||||
|       var boundingSphere = new Cesium.BoundingSphere( | ||||
|         new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标 | ||||
|         500000 // 半径(距离) | ||||
|       ); | ||||
|  | ||||
|     var repeatX = distance / entity.polyline.width.getValue(); | ||||
|     // 根据地图缩放程度调整repeatX | ||||
|     var cameraHeight = this.sdk.viewer.camera.positionCartographic.height; | ||||
|     var boundingSphere = new Cesium.BoundingSphere( | ||||
|       new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标 | ||||
|       500000 // 半径(距离) | ||||
|     ); | ||||
|       // 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率) | ||||
|       var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth; | ||||
|       var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight; | ||||
|  | ||||
|     // 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率) | ||||
|     var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth; | ||||
|     var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight; | ||||
|       // 使用 getPixelSize 方法获取包围球在屏幕上的像素大小 | ||||
|       var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight) | ||||
|       // repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1); | ||||
|       if (groundResolution > 700) { | ||||
|         repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1); | ||||
|       } else { | ||||
|         repeatX = undefined; | ||||
|       } | ||||
|  | ||||
|     // 使用 getPixelSize 方法获取包围球在屏幕上的像素大小 | ||||
|     var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight) | ||||
|     // repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1); | ||||
|     if (groundResolution > 700) { | ||||
|       repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1); | ||||
|     } else { | ||||
|       repeatX = undefined; | ||||
|       if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) { | ||||
|         return repeatX | ||||
|       } else { | ||||
|         let sdk3d = get3DView() | ||||
|         let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id) | ||||
|         return sdk3dEntity.polyline.oriRepeatX | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) { | ||||
|       return repeatX | ||||
|     } else { | ||||
|       let sdk3d = get3DView() | ||||
|       let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id) | ||||
|       return sdk3dEntity.polyline.oriRepeatX | ||||
|     } | ||||
|  | ||||
|   } | ||||
|  | ||||
|   /*创建直箭头图片*/ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user