0.问题描述
Hypatia使用Cesium实现星座可视化,但是生成的HTML文件只有偶尔运气好可以打开,大多数时候打开是一片空白。
这时F12查看错误发现:
这两个链接应该是调用的远端服务器上源码widgets.css
和Cesium.js
,但是你点开这两个链接发现也是打不开的,就是访问不了的问题。
因为完全不懂前端,所以想简单尝试把Cesium部署到本地环境,直接访问本地服务器应该是可以的(
1.环境配置
主要是本地配置部署Cesium的环境,网络上有很多解决方案(直接搜本地部署Cesium,包含下载安装nodejs并加入环境变量,安装http-server等)。
此处注意你所安装的nodejs版本最好比v13新,不然会因为太旧出现无法安装http-server的问题
最终:
2.HTML集成Cesium
- 配置完环境以后,下载Cesium源码;
- 解压并进入Cesium源码目录,创建新文件夹Cesium APP;
- 将源码文件夹
Buill/Cesium
文件夹整个复制进入Cesium APP中; - 进入Cesium APP文件夹,将你想要打开的HTML文件放进来,并作如下修改:
(其实也就是把一些源文件的路径换到本地)<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cesium App</title> <script type="text/javascript" src="Cesium/Cesium.js"></script> <link rel="stylesheet" type="text/css" href="Cesium/Widgets/widgets.css"> </head>
- 在Cesium APP文件夹搜索栏上方输入cmd:
- 输入
http-server -p 8081
打开本地服务器8081端口 - 在浏览器输入地址:
http://127.0.0.1:8081/<filename>
,比如我要打开Starlink.html
,则输入在浏览器输入地址:http://127.0.0.1:8081/Starlink
:
成功!
注意如果是想通过本地部署Cesium来打开Hypatia可视化结果的,最好下载Cesium1.57版源码
因为Hypatia调用了Cesium在1.6之后已经弃用的一个函数:createOpenStreetMapImageryProvider
,因此如果你下载比较新的版本会加载不出地球画面
并报如下错误: