• cesium加载离线tms切片


    参考:https://www.jianshu.com/p/7b5476d8a7f6   http://www.cnblogs.com/mazhenyu/p/8494094.html

    1、软件环境:太乐地图下载器4.9破解版;Cesium-1.44

    2、太乐地图下载器上下载切片,范围是-180,180,-90,90,导出选择 瓦片:TMS,图片格式选择png

    3、修改tile.xml名称为tilemapresource.xml

    4、添加web.config文件,内容为:

    <?xml version="1.0" encoding="UTF-8"?>

    <configuration>

    <system.webServer>

    <httpProtocol>

    <customHeaders>

    <add name="Access-Control-Allow-Origin" value="*" />

    <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,HEAD,OPTIONS" />

    <add name="Access-Control-Allow-Headers" value="Content-Type,api_key,Authorization,X-Requested-With" />

    </customHeaders>

    </httpProtocol>

    </system.webServer>

    </configuration>

    5、把上面的切片文件放在Test目录下,结构如下:

    6、把Test文件夹下的内容发布为应用程序,如下:

    7、打开Cesium.js后搜索代码行,有一个createDefaultImageryProviderViewModels函数,里面加载在线地图服务近10多种,其中一些就是Bing地图,还有其他互联网在线地图商提供的地图服务。由于我的场景是物理隔绝的网络,即不能使用在线地图服务,因此,全部将这些代码注释掉,返回空的providerViewModels。 

    调用代码为:

     var url = 'http://localhost:80/test'; // tms 瓦片地址
        var viewer = new Cesium.Viewer('cesiumContainer',
            {
                imageryProvider: new Cesium.createTileMapServiceImageryProvider({
                    url: url
                }), baseLayerPicker: false
            });

    8、如果想在局部区域显示高清的切片可以通过修改tilemapresource.xml的方式,如上切片到7级,把兴国县的8-17级切片拷贝过去,然后在xml中添加8-17级的等级信息,如下所示:

    9、这样在兴国县范围就可以显示8-17级的影像了:

  • 相关阅读:
    React 中使用 pdf.js 将 pdf 转换成图片
    html2pdf 无法导出 html 中 img 图片的解决方法
    js-xlsx 实现前端 Excel 导出(支持多 sheet)
    React 项目引入 Dva
    项目构建分析和 webpack 优化实践
    《写给大家看的设计书》读书笔记
    2019年六月前端面试经验总结
    UITableView .grouped 类型去除顶部间距
    Ant Design Upload 组件上传文件到云服务器
    家庭动物园下载链接
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/8876711.html
Copyright © 2020-2023  润新知