01从mars3d到cesium

152 篇文章 2 订阅
135 篇文章 0 订阅

困境:目前基于mars3d已经做了很多项目,但是gis方面的问题总是需要在大佬的帮助和引导下去解决,编码过程是需要自身对各个环节都了然于胸才能编写出合理高效可维护的代码,所以gis方面知识的欠缺就比较影响工作实施的效率和质量。

通常来讲,项目开发中需要用到一个新的技术 ,并且对其没有使用经验和知识储备时,开发者们一般都会先选取一个成熟的应用级的解决方案,便于快速完成开发任务。这样做的好处是,一般这种库的作者都拥有丰富的相关经验,和一套成熟的此类应用的开发思路。我们使用时就避免了过多的踩坑试错。但同时由于框架的高度封装就无法避免的创造一些新的概念,或者掩盖了一些底层的设计。当对技术深度有一定要求时,再回头去了解底层框架的知识,也是一个很好的学习思路。所以从今天开始我将在原有mars3d的基础上,进一步的从0开始来学习底层框架cesium。

目标:本次学习过程的目标不仅仅是对cesium的API进行了解,而是通过这个机会将整个webgis项目开发的体系进行一次梳理,在webgis项目中会遇到的问题都会进行一些探究,并记录下自己觉得难懂或者重点的环节。现在就从一个简单的demo开始,来开启从mars3d到cesium的学习之路。

资源下载:访问cesium.com/downloads/,点击 DOWNLOAD 下载即可,本次下载的版本为1.99。下载完成直接解压到 lib目录下。然后再根目录新建 index.html文件。并声称文档结构。在文档头部引入Cesium.jswidget.css两个文件。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
    />
    <title>start-01</title>
    <script src="./lib/Cesium-1.99/Build/Cesium/Cesium.js"></script>
    <link
      rel="stylesheet"
      href="./lib/Cesium-1.99/Build/Cesium/Widgets/widgets.css"
    />
  </head>
  <body>
    <div id="cesiumContainer"></div>
  </body>
</html>

通过浏览器打开,并打开控制台,在控制台中输入 Cesium 回车,就会看到 Cesium 对象被打印了出来。此时就代表资源引入成功了。

创建地图容器:在页面中创建一个 id 为 azu-cesium-study 尺寸 400 * 400 的div容器,用于展示gis场景。

<style>
  html,
  body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  #azu-cesium-study {
    width: 400px;
    height: 400px;
  }
</style>

<body>
  <div id="azu-cesium-study"></div>
</body>

初始化地球:目前先不做任何配置,直接上代码

<script>
  var viewer = new Cesium.Viewer("azu-cesium-study");
</script>

因为file:// 和 http:// 协议会被认为是不同的域,所以禁止访问一些资源,使用mars3d中会有同样的问题。我是使用 vscode 的 live server 插件来通过http的方式去访问html即可解决此问题,更多可参考:stackoverflow。下面看一下最终呈现的效果。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值