- 基础知识
- 入门教程
- 中级教程
- 官方教程
- 博客文章
- Cesium 应用篇-添加雨雪天气
- Cesium 源码剖析-Post Processing 之物体描边 Silhouette
- Cesium 源码剖析-Ambient Occlusion 环境光遮蔽
- Cesium 源码剖析-Clipping Plane
- Cesium 源码剖析-视频投影
- Cesium 之加载地形图 Terrain 篇
- Cesium 之三维漫游飞行效果实现篇
- Cesium 之地图贴地量算工具效果篇
- Cesium 之简介以及离线部署运行篇
- Cesium 之核心类 Viewer 简介篇
- Cesium 之自定义气泡窗口 infoWindow 篇
- Cesium 之自定义气泡窗口 infoWindow 后续优化篇
- Cesium 之图层管理器篇
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Cesium 导航
今天看到 Google Earth 上的导航栏,想起百度地图,高德地图,leaflet(插件)等等好像都有提供导航条,但是cesium官方包里面是没有的,于是上网搜了一下,果然有个大神实现了,名字就叫Cesium-navigation,github地址,有人翻译了这篇文章 翻译地址
看起来好像很简单,下面我们来试试怎么用:
- 下载js文件
可以在github上下载源码,自己编译,官方文档上有写
How to build it?
run npm install
run node build.js这里我偷懒了,使用cnpm安装的,当然安装完也可以把它从node_modules中拷出来
cnpm install cesium-navigation –save
- 新建示例页面,引入js
//必须先引入cesium
<script src="path/to/Cesium.js"></script>
src="path/to/standalone/viewerCesiumNavigationMixin.js"></script>
- 创建对象,官方提供了另种方式,一般使用viewer比较多,我们用viewer
// 这句不解释了
var cesiumViewer = new Cesium.Viewer('cesiumContainer');
var options = {};
options.defaultResetView = Cesium.Rectangle.fromDegrees(71, 3, 90, 14);
// extend our view by the cesium navigaton mixin
options.enableCompass= true; //罗盘
options.enableZoomControls= false; //缩放
options.enableDistanceLegend= false; //比例尺
options.enableCompassOuterRing= true; //指南针外环
cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, options);
//当然也可以使用默认的
cesiumViewer.extend(Cesium.viewerCesiumNavigationMixin, {});
//获取对象
var cesiumNavigation = cesiumViewer.cesiumNavigation;
刷新页面,发现可以了,这就666了,如果使用 requirejs,帮助里面也有说明,这里来补充一点东西:
- 返回按钮(放大缩小按钮中间的)可以自行飞向自定义经纬度坐标
viewer.scene.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(101.88, 39.78,10000000)
});
- 默认的控件都放在左下角,如果想放在别的位置怎么办呢? 这里提供一种方式,通过修改css
<style>
.compass {
position: absolute;
left: 0;
top: 10px;
}
.navigation-controls {
position: absolute;
left: 30px;
top: 120px;
height: 90px;
}
</style>
效果图:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论