我们使用cesium时,可能会遇到如下问题:
1.经常因为网络原因endpoint接口加载不出来,然后漆黑一片:
2.有离线部署的需求,需要无外网使用ceisum.
因此,我们需要了解一下这个endpoint接口,是做什么的
基本用处
网上搜了很多endpoint接口的作用,没有任何有效信息。
根据我的个人理解,endpoint接口传入access_token参数,主要是用来验证access_token是否有效的(废话),而验证access_token有效时,cesium才可以调用其对应的服务,因此,就是说只要我们把cesium可能会提供服务的地方都关了,那么这个接口是不是就不会调用了呢?
具体方法
我们先通过普通方式加载cesium
const viewer = new Cesium.Viewer('cesiumContainer')
复制代码
然后将其地图服务替换为arcgisonline服务:
const viewer = new Cesium.Viewer('cesiumContainer',{
imageryProvider:new Cesium.ArcGisMapServerImageryProvider({
url: 'https://server.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer'
})
})
复制代码
刷新页面,发现endpoint接口仍然存在。原因是我们还调用了其他cesium的服务工具,我们把这些工具全部关闭:
const viewer = new Cesium.Viewer('cesiumContainer', {
animation: true, // 是否显示时间轴动画
baseLayerPicker: false,
homeButton: false,
geocoder: false,
timeline: false,
fullscreenButton: false,
sceneModePicker: false,
navigationHelpButton: false,
imageryProvider:new Cesium.ArcGisMapServerImageryProvider({
url: 'https://server.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer'
}),
});
复制代码
注意:以上所有项目必须全部关闭才可以。
这时候,奇迹发生了:
endpoint接口没有了!
此时,如果有离线部署需求,将imageryProvider中的地图替换为离线就OK了
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END