本章主要记录一些在学习 Cesium
过程当中遇到的一些方法和小技巧的汇总内容
经纬度坐标转为笛卡尔空间直角坐标系
有两种方式,代码如下
1 2 3 4 5 6 7 8 9 10
| var lng = 116.5, lat = 36.5, height = 10.0
var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height)
var cartographic = Cesium.Cartographic.fromDegrees(lng, lat, height) var cartesian3 = ellipsoid.cartographicToCartesian(cartographic)
console.log(cartesian3.x + ',' + cartesian3.y + ',' + cartesian3.z)
|
计算两点之间的距离
需要注意的是下面示例当中的 pick1
与 pick2
都是三维坐标系下的点
1 2 3 4
| var distance = Cesium.Cartesian3.distance( new Cesium.Cartesian3(pick1.x, pick1.y, pick1.z), new Cesium.Cartesian3(pick2.x, pick2.y, pick2.z) )
|
在画布上创建一个显示图片的区域
这里主要使用的是 ViewportQuad
这个方法,代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| var viewportQuad = new Cesium.ViewportQuad()
viewportQuad.rectangle = new Cesium.BoundingRectangle(0, 0, 200, 40)
viewer.scene.primitives.add(viewportQuad)
viewportQuad.material = new Cesium.Material({ fabric: { type: 'Image', uniforms: { color: new Cesium.Color(1.0, 1.0, 1.0, 1.0), image: Cesium.buildModuleUrl('Assets/Images/bing_maps_credit.png'), }, }, })
|