搭建最简的开发环境
通过上一节搭建环境,我们大概了解了三维球运行起来是什么样的,这一节来搭建一个最简单的能运行的helloworld,以后的代码也会在这一节的基础上慢慢增加
创建文件夹
mkdir cesium-test
cd cesium-test
引入编译成果
将cesium源码中的Build文件夹,拷入cesium-test
创建html
将cesium-1.4.0/Apps/ 中的HelloWorld.html 拷入cesium-test
使用vscode 等编辑器打开
修改js和css的文件路径
<script src="../Build/Cesium/Cesium.js"></script>
@import url(../Build/Cesium/Widgets/widgets.css);
修改为
<script src="Build/Cesium/Cesium.js"></script>
@import url(Build/Cesium/Widgets/widgets.css);
发布
文件修改完成,如果直接双击helloworld.html,会报错
这是因为网站需要通过发布才能正常运行,可选择地发布工具有很多,nodejs,php,iis…等,这里我使用了php来发布,
打开命令行工具,定位到cesium-test目录,执行php -S localhost:4111 (不一定非要写4111,端口号的范围从0到65535,尽量不要使用一些特定的端口,比如用于浏览网页服务的80端口,用于FTP服务的21端口等)
➜ cesium-test php -S localhost:4111
PHP 7.1.7 Development Server started at Sun Dec 24 20:42:17 2017
Listening on http://localhost:4111
Document root is /Users/elusive/Documents/githubs/cesium-test
Press Ctrl-C to quit.
打开浏览器,输入localhost:4111,就能看到熟悉的helloworld界面
代码库拉取代码搭建环境
到现在还有朋友说卡在这步,无法搭建环境,所以我新建了个代码库,里面是最简环境的代码,
请提前安装 node,yarn
打开命令行,依次执行命令:
git clone https://gitee.com/HQCode/CesiumXinEnv.git
cd CesiumXinEnv
yarn install
npm run start
执行完最后一句,会自动打开浏览器,显示三维球
可参考视频:
下一节我们来 介绍界面及小控件隐藏
最近红包有点大~~
小白一只,不是很懂。要是能够针对我们这小小白出一些更加 详细的教程或者开一个视频课,帮助我们入门就更好了。
执行php命令提示不是内部命令。。。。php不懂,不知道需要搭建什么样的php环境
iis,tomcat,随便哪个容器都行呢
用node怎么发布
http://cesium.xin/wordpress/archives/387
可以试一试http-server -p 8081
http-server
vs code 直接安装live server插件就可以
我也是直接openwithserver就好了,vscode好用
同问
如果不用php,用node怎么运行
http://cesium.xin/wordpress/archives/387
创建html语句时,路径只需要删除一个点,
../是根目录下两级
./是根目录
/就会报错(我写的会报错,不清楚是不是我搞错了)
../是根目录上级
你好,我发现我创建的test文件无论进步进行路径修改都能打开helloworld
请问是什么原因呢
把Helloworld.html改成index.html
发布这没有PHP环境用Python怎么发布呀
node ,python ,iis,tomcat 都可以发布
打是打开了 就是没有球·····
默认是bing地图,cesium不是最新版本的话,都需要自己申请bing map的key.
你可以点击右上角问号左边的按钮,选择一个别的在线地图
谢谢博主 还申请了个key刚刚
换其他地图依然不显示地球,还是显示SecurityError: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’是什么情况。
根据你的描述,无法重现问题
你好,在代码中加入了token,页面变成了一片空白;不加token是不显示地球。是哪里处了问题怎么解决呢
可能token有权限问题,或者报错了,调试一下
php发布怎么设置可远程访问呢
用局域网地址(192.168.1.***)+端口发布 局域网可访问;外网类似
可是php手册说内置Web服务器只用于本地开发使用,不可用于线上产品环境。
其实直接将项目创建在php的www文件夹下就行
An error occurred while rendering. Rendering has stopped.
SecurityError: The operation is insecure.
_@file:///E:/HL/Build/Cesium/Cesium.js:500:1988
k.prototype.update@file:///E:/HL/Build/Cesium/Cesium.js:500:26932
w.prototype.update@file:///E:/HL/Build/Cesium/Cesium.js:535:12613
f.prototype.update@file:///E:/HL/Build/Cesium/Cesium.js:541:2242
Ze@file:///E:/HL/Build/Cesium/Cesium.js:545:11818
it@file:///E:/HL/Build/Cesium/Cesium.js:545:16452
we.prototype.render@file:///E:/HL/Build/Cesium/Cesium.js:545:24414
A.prototype.render@file:///E:/HL/Build/Cesium/Cesium.js:557:17428
t@file:///E:/HL/Build/Cesium/Cesium.js:557:5269
用node.JS发布后出现了这个错误,百度了很久,也没有解决
node 版本升级试一下,或者cesium版本换个试一下
vscode安装 liveserver插件 ,webstorm 一键run,都可以动态发布页面的。
vscode安装liveserver, webstorm一键运行,都可以动态运行html页面的
发布成功后打开端口 是空页面是怎么回事
同问
An error occurred while rendering. Rendering has stopped.
SecurityError: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: The image element contains cross-origin data, and may not be loaded.
Error: Failed to execute ‘texImage2D’ on ‘WebGLRenderingContext’: The image element contains cross-origin data, and may not be loaded.
at new _ (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:500:1988)
at k.update (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:500:26932)
at w.update (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:535:12613)
at f.update (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:541:2242)
at Ze (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:545:11818)
at it (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:545:16452)
at we.render (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:545:24412)
at A.render (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:557:17428)
at t (file:///E:/cesium-demo/Cesium-test1/Build/Cesium/Cesium.js:557:5269)
node之后怎么还是这样
同问,换其他地图也还是这样
你们这个问题解决好了吗?
你好解决了吗,解决方法是什么
不能直接双击html打开,需要发布,使用网络地址打开
IIS如何发布
百度
我申请了bingmap key 发布之后还是无法显示地球
换别的图或者本地的
node 服务运行起来了,但是无法显示地球
用离线的球,或者用最新的包,或者换token
离线球的代码:
var viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: new Cesium.TileMapServiceImageryProvider({
url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),
})
});
好玩,出来了
你好,这个离线球的代码放进去页面变成一片空白了怎么办
var viewer = new Cesium.Viewer(“cesiumContainer”, {
imageryProvider: new Cesium.TileMapServiceImageryProvider({
url: Cesium.buildModuleUrl(“Assets/Textures/NaturalEarthII”),
})
});
地球显示出来了,但是就是个纯蓝色地球
控制台打印了An error occurred in “IonImageryProvider”这个错
地球显示出来了,但是就是个纯蓝色地球,这个怎么办?
控制台打印了An error occurred in “IonImageryProvider”这个错
var viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: new Cesium.TileMapServiceImageryProvider({
url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),
}),
baseLayerPicker: false,
geocoder: false,
});
你好 问题并没有解决