经纬度转换为世界坐标
Cesium.Cartographic.fromDegrees(经度,纬度,高度)
这里的经纬度是用弧度表示的,经纬度其实就是角度。弧度即角度对应弧长是半径的倍数
var ellipsoid = viewer.scene.globe.ellipsoid;
let cartographic = Cesium.Cartographic.fromDegrees(longitude, latitude, 0);
// 将经纬度转换为世界坐标
ellipsoid.cartographicToCartesian(cartographic);
这里是引用
关于在添加广告牌中的笔记
viewer.entities.add({
name: 'point',
position: Cesium.Cartesian3.fromDegrees(
longitude, // 经度
latitude // 纬度
),
params: obj1, // 这个按理解是保存这个点的信息,也就是这个图标
billboard: {
// 图标图片
image: obj1.image, // 图标的路径
// 图标大小
scale: 1,
/**
* horizontalOrigin(水平对齐)和 verticalOrigin(垂直对齐)
* Cesium.VerticalOrigin.BOTTOM 下
* Cesium.VerticalOrigin.Top 上
*
*/
verticalOrigin: Cesium.VerticalOrigin.Top,
/**
* pixelOffset:设置位置偏移,以点为中心点
* 第一个是左右的,左为负,右为正
* 第二个是上下,上为负,下为正
*/
pixelOffset: new Cesium.Cartesian2(0, -45) // 图标距离点的位置偏移
// scaleByDistance: new Cesium.NearFarScalar(1.7e5, 1, 10000, 0.2), // 图标距离大于10000米的时候不显示
}
})
飞行定位到指定的坐标
offset:为实体
// entity可以理解为地图上的定位到图标点吧,都是一个实体
// 在添加实体的时候可以利用变量存放起来,有个可以进行判断的值
// 在地图点击实体的时候通过判断,就执行这个实体的飞行模式
viewer.flyTo(entity, {
offset: {
heading: Cesium.Math.toRadians(0.0), // 偏航角(弧度),意思就是左右位置
pitch: Cesium.Math.toRadians(-90), // 俯仰角(弧度),飞行的视觉,相当于飞机下落,飞机上升
range: 550 // 视觉高度,越高视觉越高,相机距离目标的距离
}
})