import { cartesianToXY } from "@/utils/map" let water = null export function destoryWaterPrimitive() { if (water) { water.destroy() water = null } } export function createWaterPrimitive(rainfall) { if (water) { water.rainfall = rainfall return } let positionArray = [ { x: -2172418.4199554003, y: 4339741.174232391, z: 4124707.9687457774, }, { x: -2173054.1197314346, y: 4339420.091643301, z: 4124710.896091218, }, { x: -2172832.10576698, y: 4338665.615224519, z: 4125615.341361447, }, { x: -2171464.714295606, y: 4337884.628113293, z: 4127145.919793182, }, { x: -2170738.824348358, y: 4338621.865525843, z: 4126755.442367371, }, { x: -2171270.181257778, y: 4338967.11477535, z: 4126117.1692552743, }, { x: -2171120.444962885, y: 4339310.237335228, z: 4125837.0031219805, }, { x: -2171911.8873938583, y: 4339707.853907823, z: 4125007.7462886167, }, { x: -2171934.494218292, y: 4339685.285760623, z: 4125019.506657141, }, ] const coordinates = [] positionArray.forEach(item => { const result = cartesianToXY(item) coordinates.push(result.longitude, result.latitude, result.height) }) water = earthCtrl.analysis.createWaterSimulateGPU({ //isDraw: true, // 是否绘制水面 height: -5, maxHeight: 2000, coordinates: coordinates, // coordinates: [ // 116.57628914253382, 40.5654461866556, 0, 116.57628914253382, 40.552898897029046, 0, // 116.60855621443835, 40.552898897029046, 0, 116.60855621443835, 40.5654461866556, 0, // ], // coordinates: [ // 116.568865, 40.590729, 0, 116.568865, 40.533505, 0, // 116.608505, 40.533505, 0, 116.608505, 40.590729, 0, // ], }) console.log("water", water) // water.rainfall = 0.0001; // 调节雨量 // water.rainPointMax = 2.0; // 渗水阈值 // water.attenuation = 0.995; // 衰减 // water.strenght = 0.25 // 水流强度 } export function initeWaterPrimitiveView() { let view = { destination: { x: -2173603.2294639186, y: 4338938.333124211, z: 4128027.401463165, }, orientation: { pitch: -0.6208443477400212, roll: 0.000049799989940702005, heading: 3.6294612473618644, }, } viewer.scene.camera.flyTo(view) }