Cesium-1.72学习(地球模型创建 在线 离线 瓦片)

在这里插入图片描述

1、在线

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>快速开始 cesium</title>
    <link rel="stylesheet" href="/Cesium-1.72/Build/Cesium/Widgets/widgets.css">
    <script src="/Cesium-1.72/Build/Cesium/Cesium.js"></script>
</head>
<body>
    <div style="width:1500px;height:700px;">
        <div id="cesiumContainer" style="width:100%;height:100%;"></div>
    </div>
</body>
</html>
<script>

    Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMTdmMTdmNS00NzZhLTQwOGMtODQwYy1kZjAyMzNiOTg0ZTYiLCJpZCI6MzMwMjQsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1OTc4OTE3ODl9.yqF540oYBpSme38SIPKUP4t14FA6hXCLFHnvOqPf_Fw';
    var viewer = new Cesium.Viewer('cesiumContainer', {
        geocoder:false, //一种地理位置搜索工具,用于显示相机访问的地理位置。默认使用微软的Bing地图。
        homeButton:true, //首页位置,点击之后将视图跳转到默认视角。
        sceneModePicker:true, //切换2D、3D 和 Columbus View (CV) 模式。
        baseLayerPicker:false, //选择三维数字地球的底图(imagery and terrain)。
        navigationHelpButton:true, //帮助提示,如何操作数字地球。
        animation:false,//控制视窗动画的播放速度。
        creditsDisplay:false, //展示商标版权和数据源。
        timeline:false, //展示当前时间和允许用户在进度条上拖动到任何一个指定的时间。
        fullscreenButton:true, //视察全屏按钮,
        //terrainProvider: Cesium.createWorldTerrain()//地形
    });
    viewer.scene.globe.enableLighting = true;//启用以太阳为光源的地球
</script>

在线加载时使用的是网络加载的bing地图,需要申请Cesium.Ion.defaultAccessToken
地址:cesium官网,注册登录
在这里插入图片描述

2、离线安装包资源

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>快速开始 cesium</title>
    <link rel="stylesheet" href="/Cesium-1.72/Build/Cesium/Widgets/widgets.css">
    <script src="/Cesium-1.72/Build/Cesium/Cesium.js"></script>
</head>
<body>
    <div style="width:1500px;height:700px;">
        <div id="cesiumContainer" style="width:100%;height:100%;"></div>
    </div>
</body>
</html>
<script>
    var viewer = new Cesium.Viewer('cesiumContainer', {
        imageryProvider:new Cesium.UrlTemplateImageryProvider({
            url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') + '/{z}/{x}/{reverseY}.jpg',
            credit : '© Analytical Graphics, Inc.',
            tilingScheme : new Cesium.GeographicTilingScheme(),
            maximumLevel : 5
        }),
        geocoder:false, //一种地理位置搜索工具,用于显示相机访问的地理位置。默认使用微软的Bing地图。
        homeButton:true, //首页位置,点击之后将视图跳转到默认视角。
        sceneModePicker:true, //切换2D、3D 和 Columbus View (CV) 模式。
        baseLayerPicker:false, //选择三维数字地球的底图(imagery and terrain)。
        navigationHelpButton:true, //帮助提示,如何操作数字地球。
        animation:false,//控制视窗动画的播放速度。
        creditsDisplay:false, //展示商标版权和数据源。
        timeline:false, //展示当前时间和允许用户在进度条上拖动到任何一个指定的时间。
        fullscreenButton:true, //视察全屏按钮
    });
    viewer.scene.globe.enableLighting = true;//启用以太阳为光源的地球

</script>

加载的是安装包中的离线3级地图

3、离线瓦片地图,自建地图服务。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>快速开始 cesium</title>
    <link rel="stylesheet" href="/Cesium-1.72/Build/Cesium/Widgets/widgets.css">
    <script src="/Cesium-1.72/Build/Cesium/Cesium.js"></script>
</head>
<body>
    <div style="width:1500px;height:700px;">
        <div id="cesiumContainer" style="width:100%;height:100%;"></div>
    </div>
</body>
</html>
<script>

    var viewer = new Cesium.Viewer('cesiumContainer', {
        imageryProvider:new Cesium.UrlTemplateImageryProvider({
            url:'http://localhost:8099/basemap_0-10/{z}/{y}/{x}.png', //本机地图服务
            //url:'http://localhost:6379/basemap_0-10/{z}/{y}/{x}.png', //服务器地图服务
            /**
             * springboot
             * 服务器 跨域配置
             * @Configuration
             public class MyCorsConfig implements WebMvcConfigurer {
                    @Bean
                    public WebMvcConfigurer corsConfigurer() {
                        return new WebMvcConfigurer() {
                            @Override
                            public void addCorsMappings(CorsRegistry registry) {
                                registry.addMapping("/**").allowedOrigins("*"). // 允许跨域的域名,可以用*表示允许任何域名使用
                                allowedMethods("*"). // 允许任何方法(post、get等)
                                allowedHeaders("*"). // 允许任何请求头
                                allowCredentials(true). // 带上cookie信息
                                exposedHeaders(HttpHeaders.SET_COOKIE).maxAge(3600L); // maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果
                            }
                        };
                    }
                }
             */
            fileExtension : "png",
        }),
        geocoder:false, //一种地理位置搜索工具,用于显示相机访问的地理位置。默认使用微软的Bing地图。
        homeButton:true, //首页位置,点击之后将视图跳转到默认视角。
        sceneModePicker:true, //切换2D、3D 和 Columbus View (CV) 模式。
        baseLayerPicker:false, //选择三维数字地球的底图(imagery and terrain)。
        navigationHelpButton:true, //帮助提示,如何操作数字地球。
        animation:false,//控制视窗动画的播放速度。
        creditsDisplay:false, //展示商标版权和数据源。
        timeline:false, //展示当前时间和允许用户在进度条上拖动到任何一个指定的时间。
        fullscreenButton:true, //视察全屏按钮
    });
    viewer.scene.globe.enableLighting = true;//启用以太阳为光源的地球
</script>

运行springboot搭建地图服务,瓦片地图访问时跨域,在地图服务端需要进行跨域配置。
案例代码:https://github.com/zhangxuhui1992/cesium

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您可以使用Cesium加载离线瓦片地图。下面是一些步骤可以帮助您实现这一目标: 1. 获取离线瓦片地图数据:您可以通过各种方式获取离线瓦片地图数据,例如使用ArcGIS、Mapbox或者其他地图提供商的工具来下载离线瓦片数据。确保您已经获得了包含瓦片图像的文件夹结构。 2. 设置Cesium环境:首先,将CesiumJavaScript库文件引入到您的项目中。您可以从Cesium官方网站下载Cesium库文件,然后将其包含在您的HTML文件中。 3. 创建Cesium Viewer:在您的JavaScript代码中,创建一个Cesium Viewer实例,这将作为加载和显示地图的容器。 ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); ``` 4. 配置离线地图:使用Cesium的ImageryLayer概念,您可以将自定义的离线瓦片地图添加到Cesium Viewer中。使用`Cesium.createTileMapServiceImageryProvider`函数来创建一个ImageryLayer,指定地图数据的路径。 ```javascript var tileMapService = new Cesium.createTileMapServiceImageryProvider({ url: 'path/to/your/tilemapdata' }); viewer.imageryLayers.addImageryProvider(tileMapService); ``` 请将"path/to/your/tilemapdata"替换为您实际的瓦片地图数据路径。 5. 运行应用程序:保存并运行您的应用程序,您将能够在Cesium Viewer中加载和显示离线瓦片地图。 这些步骤应该能够帮助您加载离线瓦片地图。请注意,具体的实施步骤可能因您选择的离线瓦片地图来源和数据格式而有所不同。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值