Cesium学习笔记-创建地图以及Entity基础使用

Viewer

创建地图

var viewer = new Cesium.Viewer('cesiumContainer',{
	// sceneMode: SceneMode.SCENE2D,   //默认地图为二维
})
// 关闭晨昏线效果
viewer.scene.globe.enableLighting = false;

相机视角移动

viewer.camera.flyTo({
	destination: Cesium.Cartesian3.fromDegrees(long, lat, height),  // 目标处经纬度及相机高度
	orientation: {
		heading: Cesium.Math.toRadians(0.0), // 相机东西南北朝向,即相机围绕负z轴的旋转角度
		pitch: Cesium.Math.toRadians(-90.0),  // 相机的俯视仰视角度,即相机围绕负y轴的旋转角度
		roll: 0  // 旋转分量,即相机围绕正x轴的旋转角度
	},
	duration: 0.5 //相机到达目标处的时间
})

cesium定位方法

注册地图鼠标事件、坐标转换

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
handler.setInputAction(function(event){
	// 屏幕坐标
	console.log(event);
	// 转换为笛卡尔坐标
	var earthPosition = viewer.camera.pickEllipsoid(event.position, viewer.scene.globe.ellipsoid);
	console.log(earthPosition);
	// 转换为经纬度坐标
	// (方法1)
	var degree = Cesium.Cartographic.fromCartesian(earthPosition);
	var long = degree.longitude / Math.PI * 180;
	var lat = degree.latitude / Math.PI * 180;
	// (方法2:先转换为弧度,再转换为经纬度)
	// var ellipsoid = viewer.scene.globe.ellipsoid;
	// var cartographic = ellipsoid.cartesianToCartographic(earthPosition);
	// var long = Cesium.Math.toDegress(cartographic.longitude);
	// var lat = Cesium.Math.toDegress(cartographic.latitude);
	console.log('当前经纬度坐标为:' + long + ' , ' + lat);
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

鼠标事件

Entity

添加billboard广告牌以及标注

var entity = viewer.entities.add({
	name : 'My Point',
    position : Cesium.Cartesian3.fromDegrees( 116.166493, 39.9060534 ),
    point : { //点
        pixelSize : 5,
        color : Cesium.Color.RED,
        outlineColor : Cesium.Color.WHITE,
        outlineWidth : 2
    },
    label : { //文字标签
        text : 'point',
        font : '14pt monospace',
        style : Cesium.LabelStyle.FILL_AND_OUTLINE,
        outlineWidth : 2,
        verticalOrigin : Cesium.VerticalOrigin.BOTTOM, //垂直方向以底部来计算标签的位置
        pixelOffset : new Cesium.Cartesian2( 0, -9 )   //偏移量
    }
    billboard : { //图标
        image : '../Images/bubble.png',
        width : 64,
        height : 64
    },
    isTest:true,  // 可自定义属性,方便后续进行点击判断
});

// 点击实体获得实体相关信息
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
handler.setInputAction(function(e){
	var pick = viewer.scene.pick(e.position);
	if(pick && pick.id && pick.id.isTest){  //可添加其他信息进行准确判断是否为想要获取实体
		console.log(pick.id);// 实体信息
	}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值