Compare commits
	
		
			2 Commits
		
	
	
		
			a43c71d94e
			...
			2fd421e637
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2fd421e637 | |||
| 6e2efbe544 | 
| @ -653,10 +653,13 @@ class Tools { | |||||||
|           '11': 4, |           '11': 4, | ||||||
|           '12': 2 |           '12': 2 | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
|         param.speed = newParam.rotate ? param.speed : 0 - param.speed |         param.speed = newParam.rotate ? param.speed : 0 - param.speed | ||||||
|         console.log(entity.polyline.oriWidth, arr[type + ''], type, 'oriWidth') |  | ||||||
|         entity.polyline.width = entity.polyline.oriWidth + arr[type + ''] |         entity.polyline.width = entity.polyline.oriWidth + arr[type + ''] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|         this.getFlowTexture(this, param, entity) |         this.getFlowTexture(this, param, entity) | ||||||
|  |  | ||||||
|         break |         break | ||||||
| @ -693,8 +696,8 @@ class Tools { | |||||||
|  |  | ||||||
|       // let repeat = getRepeat() |       // let repeat = getRepeat() | ||||||
|       // }, false) |       // }, false) | ||||||
|       entity.polyline.material.oriRepeat = undefined |       // entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle) | ||||||
|       entity.polyline.material.oriSpeed = undefined |       // entity.polyline.material.oriSpeed = undefined | ||||||
|       entity.polyline.material = new Cesium.LineTextureMaterialProperty( |       entity.polyline.material = new Cesium.LineTextureMaterialProperty( | ||||||
|         { |         { | ||||||
|           color: options.color, |           color: options.color, | ||||||
| @ -747,9 +750,37 @@ class Tools { | |||||||
|           }) |           }) | ||||||
|         } |         } | ||||||
|       ) |       ) | ||||||
|       entity.polyline.material.oriSpeed = options.speed |       // entity.polyline.material.oriSpeed = options.speed | ||||||
|  |       entity.polyline.material.oriRepeat = that.getSceenLine(entity, options, canvasEle) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |   /**获取当前满屏横线速度 */ | ||||||
|  |   getSceenLine(entity, options, canvasEle) { | ||||||
|  |     let point1 = new Cesium.Cartesian2(0, this.sdk.viewer.canvas.clientHeight) | ||||||
|  |     let point2 = new Cesium.Cartesian2(this.sdk.viewer.canvas.clientWidth / 2, this.sdk.viewer.canvas.clientHeight) | ||||||
|  |     var cartesian1 = this.sdk.viewer.scene.pickPosition(point1) | ||||||
|  |     var cartesian2 = this.sdk.viewer.scene.pickPosition(point2) | ||||||
|  |  | ||||||
|  |     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 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); | ||||||
|  |     repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1); | ||||||
|  |     return repeatX * 2 | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /*创建直箭头图片*/ |   /*创建直箭头图片*/ | ||||||
|   create_arrow1_picture(color) { |   create_arrow1_picture(color) { | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user