1、添加高德地图
2、添加天地图
3、添加ArcServer地图
4、添加Geoserver 地图
二、Cesium ImageryProvider
加载不同格式的地图需要选择不同的接口,详见官方文档:
https://cesium.com/docs/cesiumjs-ref-doc/ImageryProvider.html
三、常用的影像地图服务:
1、高德:
2、天地图
3、智图
天地图图层加载:
百度地图的加载有点复杂,这篇博客有详细的解决方法: https://blog.csdn.net/KaiSarH/article/details/106242572
Cesium点线面绘制是很基本的功能,数据采集类型的系统必须具备此功能。但是Cesium并没有提供相关可以直接使用的绘制方法,只能自己进行封装,虽然实现起来不是很难,但是对Cesium不太熟的同学还是比较麻烦的。在Cesium中,虽然没有提供鼠标交互绘制的相关类,但是我们可以通过监听鼠标点击事件,获取点击点坐标串,这样就能够实现鼠标交互绘制的功能。Cesium中的ScreenSpaceEventHandler类提供鼠标各种事件,如鼠标左键点击,鼠标右键点击等。我们只需构建此对象,监听鼠标左键点击事件、鼠标移动事件,鼠标右键事件,即可实现绘制功能。
获取方式 Cesium实战项目
面朝屏幕的图片
http://localhost:8080/Apps/Sandcastle/index.html?src=development%2FBillboards.html&label=Development
//链式返回,new Cesium.BillboardCollection() 生成一个对象,这个对象是另一个scene.primitives.add的参数
//position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)
//position 空间直角坐标系,由经纬度坐标转换而来;这里的经纬度省略了Z的参数
// 可以增加一句 var height = Cesium.defaultValue(444444)
// position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883,height )
sizeInMeters : true, //图像的尺寸被指定成图像实际的尺寸,不随地图的缩放而变换大小
一次创建多个
//scaleByDistance 设置屏幕像素缩放比,150米的时候放大一倍,150000米的时候,缩放到0.5
//Cesium.NearFarScalar四个值,最近的距离,最远的距离,缩放比例范围
translucencyByDistance 改动透明度,地球缩放到很小时,透明度增大
pixelOffset : new Cesium.Cartesian2(0.0, -facilityHeight), //在原位置上偏移,防止叠在一起看不到了
pixelOffsetScaleByDistance : new Cesium.NearFarScalar(1.0e3, 1.0, 1.5e6, 0.0), //随着距离改变偏移量
translucencyByDistance : new Cesium.NearFarScalar(1.0e3, 1.0, 1.5e6, 0.1)//随着距离改变透明度
添加点的公告牌
增加marker的公告牌
在框架体系中增加广告牌,平移旋转缩放,全部围绕着billboards.modelMatrix
平移到某一点后,旋转X轴转到朝东,Y转到朝北,z轴转到正上方。
billboards.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center)
特点:
始终面朝屏幕,即使旋转也面朝屏幕
注意创建的集群对象 Cesium.BillboardCollection
为什么不能创建单个Billboard?Entity来解决此问题
面朝屏幕的文字
http://localhost:8080/Apps/Sandcastle/index.html?src=development%2FLabels.html&label=Development
特点:
始终朝向屏幕
注意创建的是集群对象 Cesium.LabelCollection()
Label对象只能用在LabelCollection当中
http://localhost:8080/Apps/Sandcastle/index.html?src=development%2FPointPrimitives.html&label=Development
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)