一、自定义信息框效果


 
 

二、需求设计思路

1、需要展示信息的坐标点

2、信息框的头部

3、信息框的内容

4、信息框关闭按钮

5、信息框的坐标点三角形

现在可以直接展示出来了信息,但是信息框不会跟随场景移动,记录坐标,实时转换经纬度坐标成为屏幕坐标来达到信息框随场景移动。

 
 

三、具体开发思路

构建信息框的DOM节点

createDom: function (type, className, parent) {
var t = document.createElement(type);
t.className = className;
parent.appendChild(t);
return t;
},
createEvent: function (dom, type, callback) {
dom.addEventListener(type, function(e){
callback(e);
});
}

Cesium的场景实时渲染的监听事件

viewer.scene.preRender.addEventListener(this.renderListener)

经纬度坐标转笛卡尔坐标系坐标:

Cesium.Cartesian3.fromDegrees(longitude,latitude,height)

笛卡尔坐标系转屏幕坐标系:

Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene,cartesian3)

四、开发优化

1、信息框的如何关闭?

2、只显示一个信息框时,怎么办?

3、修改样式,背景怎么办?

发表评论

邮箱地址不会被公开。 必填项已用*标注