作者:taco
说起来超图提供的iClient for Cesium 版本已经很久没有更新过了。通过打印查看,貌似一直都是1.67的版本,眼看着原生中已经升级到了1.97。那么有没有办法升级版本后也能使用呢?
前两天在网上冲浪的过程中,发现了这款“插件库”。相当于集成了超图的部分功能,但是又能在原生中使用。真是大快人心呢。
好的,接下来就看看这个库具体哪里下载,以及如何使用?
下载地址:GitHub - SuperMap/iClient3D-for-WebGL
没错它放到了GitHub上面了。下载的话这里就不放文件了。直接在这里面下载就可以使用了。
找到Build文件夹下的SuperMap3D.js文件。拷贝到原生Cesium的Build目录中。
接下来就是调用方法,github中已经提供了例子。这里只简单加载一分数据展示一些,如果加载。具体的还是按照github中的例子使用。
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Use correct character set. -->
<meta charset="utf-8" />
<!-- Tell IE to use the latest, best version. -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
<title>Hello World!</title>
<script src="../Build/Cesium/Cesium.js"></script>
<script>
window.Adapter = Cesium
</script>
<script src="../Build/Supermap3D/SuperMap3D.js"></script>
<style>
@import url(../Build/Cesium/Widgets/widgets.css);
html,
body,
#cesiumContainer {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
</head>
<body>
<div id="cesiumContainer"></div>
<script>
var viewer = new Cesium.Viewer("cesiumContainer");
var scene = viewer.scene;
var promise = viewer.scene.open("http://www.supermapol.com/realspace/services/3D-CBD/rest/realspace");
Cesium.when.all(promise, function(layers) {
});
</script>
</body>
</html>
这样操作我们就在原生Cesium中加载了超图的服务。
具体功能暂时还没有研究明白,等后续进行更多尝试后。再进行更新。