广告牌高程计算忽略三维扫描
This commit is contained in:
		| @ -1812,7 +1812,13 @@ class BillboardObject extends Base { | ||||
|           case '2': | ||||
|           case 3: | ||||
|           case '3': | ||||
|             this.getClampToHeight(this.options.positions).then(h => { | ||||
|             let objectsToExclude = [] | ||||
|             for (let [key, value] of this.sdk.entityMap) { | ||||
|               if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|                 objectsToExclude.push(value.entity) | ||||
|               } | ||||
|             } | ||||
|             this.getClampToHeight(this.options.positions, objectsToExclude).then(h => { | ||||
|               this.alt = Number(h.toFixed(2)) | ||||
|               heightElm.value = this.alt | ||||
|             }) | ||||
| @ -1876,7 +1882,13 @@ class BillboardObject extends Base { | ||||
|                     break | ||||
|                   case 3: | ||||
|                   case '3': | ||||
|                     this.getClampToHeight(this.options.positions).then(h => { | ||||
|                     let objectsToExclude = [] | ||||
|                     for (let [key, value] of this.sdk.entityMap) { | ||||
|                       if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|                         objectsToExclude.push(value.entity) | ||||
|                       } | ||||
|                     } | ||||
|                     this.getClampToHeight(this.options.positions, objectsToExclude).then(h => { | ||||
|                       this.alt = Number(h.toFixed(2)) | ||||
|                     }) | ||||
|                     this.heightMode = 3 | ||||
| @ -2330,9 +2342,14 @@ class BillboardObject extends Base { | ||||
|       this.options.positions.lat, | ||||
|       10000000000000 | ||||
|     ) | ||||
|     let updatedCartesians = await this.sdk.viewer.scene.clampToHeightMostDetailed( | ||||
|       [point1] | ||||
|     ) | ||||
|  | ||||
|     let objectsToExclude = [] | ||||
|     for (let [key, value] of this.sdk.entityMap) { | ||||
|       if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|         objectsToExclude.push(value.entity) | ||||
|       } | ||||
|     } | ||||
|     let updatedCartesians = await this.sdk.viewer.scene.clampToHeightMostDetailed([point1], objectsToExclude) | ||||
|     if (updatedCartesians && updatedCartesians[0]) { | ||||
|       height = this.cartesian3Towgs84(updatedCartesians[0], this.sdk.viewer).alt | ||||
|     } | ||||
| @ -2471,7 +2488,13 @@ class BillboardObject extends Base { | ||||
|       } | ||||
|       // 如果没有高度值,则获取紧贴高度计算 | ||||
|       if (!position.hasOwnProperty('alt')) { | ||||
|         position.alt = await this.getClampToHeight(position) | ||||
|         let objectsToExclude = [] | ||||
|         for (let [key, value] of this.sdk.entityMap) { | ||||
|           if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|             objectsToExclude.push(value.entity) | ||||
|           } | ||||
|         } | ||||
|         position.alt = await this.getClampToHeight(position, objectsToExclude) | ||||
|       } | ||||
|       lng = this.options.customView.relativePosition.lng + position.lng | ||||
|       lat = this.options.customView.relativePosition.lat + position.lat | ||||
| @ -2482,7 +2505,13 @@ class BillboardObject extends Base { | ||||
|         orientation: orientation | ||||
|       }) | ||||
|     } else { | ||||
|       let height = await this.getClampToHeight(this.options.positions) | ||||
|       let objectsToExclude = [] | ||||
|       for (let [key, value] of this.sdk.entityMap) { | ||||
|         if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|           objectsToExclude.push(value.entity) | ||||
|         } | ||||
|       } | ||||
|       let height = await this.getClampToHeight(this.options.positions, objectsToExclude) | ||||
|       this.sdk.viewer.camera.flyTo({ | ||||
|         orientation: options.orientation, | ||||
|         destination: Cesium.Cartesian3.fromDegrees( | ||||
| @ -2650,7 +2679,13 @@ class BillboardObject extends Base { | ||||
|       } | ||||
|       // 如果没有高度值,则获取紧贴高度计算 | ||||
|       if (!position.hasOwnProperty('alt')) { | ||||
|         position.alt = await this.getClampToHeight(position) | ||||
|         let objectsToExclude = [] | ||||
|         for (let [key, value] of this.sdk.entityMap) { | ||||
|           if (value.type === 'RadarScanStereoscopic' && value.entity) { | ||||
|             objectsToExclude.push(value.entity) | ||||
|           } | ||||
|         } | ||||
|         position.alt = await this.getClampToHeight(position, objectsToExclude) | ||||
|       } | ||||
|       relativePosition = { | ||||
|         lng: cameraPosition84.lng - position.lng, | ||||
|  | ||||
| @ -86,6 +86,10 @@ class RadarScanStereoscopic extends Base { | ||||
|     RadarScanStereoscopic.radarSolidScan(this) | ||||
|   } | ||||
|  | ||||
|   get type() { | ||||
|     return 'RadarScanStereoscopic' | ||||
|   } | ||||
|  | ||||
|   static radarSolidScan(that) { | ||||
|     let viewer = that.sdk.viewer | ||||
|     let options = that.options | ||||
|  | ||||
		Reference in New Issue
	
	Block a user