cesium-examples/map/examples/es6_t11.html

77 lines
2.3 KiB
HTML
Raw Permalink Blame History

<!--
* @Descripttion:
* @version: 1.0
* @Author: zhangti
* @Date: 2019-11-20 17:51:52
* @LastEditors : sueRimn
* @LastEditTime : 2020-01-13 14:59:30
-->
<!--
Format:https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer/tile/{z}/{y}/{x}
At first, I use HttpDebugger find this server, because ArcGIS Earth use this elevation3d server
Although it is height map form, in China, it is not easy to visit STK Terrain, it is also an appropriate solution.
Then I watched the tile content and the header is "CntZImage" which is the arcgis/lerc compression
Eventually, I create the ArcGisImageServerTerrainProvider class, so we can load thise terrain server easily, and you can download this file in Source/Core freely.
Note: ArcGIS HeightMap Terrain Server is WebMercatorTilingScheme.
There is a bug but I could not fix it without modifying the source code. For example, in level 13, I found some tiles have no height data,
the data is always 0, you can still request this tile. So, the state is TerrainState.RECEIVED
-->
<!DOCTYPE html>
<head>
<title>标绘</title>
<style>
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
}
.btn{
position: absolute;
top: 5px;
left: 5px;
padding: 2px;
}
</style>
</head>
<body>
<!--
æ<><C3A6>述:cesiumç<6D>ƒ
-->
<div id="cesiumContainer"></div>
<div class="btn">
<button class="btn_01">直角</button>
<button class="btn_02">攻击</button>
<button class="btn_03">钳击</button>
<button class="btn_04">保存</button>
<button class="btn_05">清除所有</button>
</div>
<script type="module">
import {CV} from '../3d/CV.js';
new CV.load('A',()=>{
let earth = new CV.Earth("cesiumContainer",{
imageryProvider:CV.TAG.BASELAYER.GOOGLEIMAGERY(),
skyBox : CV.TAG.SKYBOX.customStyle()
});
let primitive;
/**
* 标绘
*/
let plot = new CV.Plot(earth.core);
$(".btn_01").on('click',function(){
plot.draw("straightArrow");
});
$(".btn_02").on('click',function(){
plot.draw("attackArrow");
});
$(".btn_03").on('click',function(){
plot.draw("pincerArrow");
});
$(".btn_04").on('click',function(){
plot.saveData();
});
$(".btn_05").on('click',function(){
plot.clearAll();
});
});
</script>
</body>