Kaynağa Gözat

fix: Parse.parsePosition 增加转换类型支持

tags/3.1.0
shenweiqun 2 yıl önce
ebeveyn
işleme
9458ebcc37
2 değiştirilmiş dosya ile 22 ekleme ve 0 silme
  1. 6
    0
      src/modules/parse/Parse.js
  2. 16
    0
      src/modules/transform/Transform.js

+ 6
- 0
src/modules/parse/Parse.js Dosyayı Görüntüle

@@ -2,6 +2,8 @@
* @Author : Caven Chen
*/
import Position from '../position/Position'
import { Cesium } from '../../namespace'
import { Transform } from '../transform'

class Parse {
/**
@@ -26,6 +28,10 @@ class Parse {
result = Position.fromObject(position)
} else if (Object(position) instanceof Position) {
result = position
} else if (Object(position) instanceof Cesium.Cartesian3) {
result = Transform.transformCartesianToWGS84(position)
} else if (Object(position) instanceof Cesium.Cartographic) {
result = Transform.transformCartographicToWGS84(position)
}
return result
}

+ 16
- 0
src/modules/transform/Transform.js Dosyayı Görüntüle

@@ -26,6 +26,22 @@ class Transform {
return new Position(0, 0)
}

/**
* Transforms Cartographic To WGS84
* @param cartographic
* @returns {Position}
*/
static transformCartographicToWGS84(cartographic) {
if (cartographic) {
return new Position(
Cesium.Math.toDegrees(cartographic?.longitude || 0),
Cesium.Math.toDegrees(cartographic?.latitude || 0),
cartographic.height || 0
)
}
return new Position(0, 0)
}

/**
* Transforms WGS84 To Cartesian
* @param position

Loading…
İptal
Kaydet