Cesium 离线调用高德地图天地图本地瓦片数据

网上看到了geoserver+cesium+全能地图下载器的离线使用组合,但是遇到的问题是,如果将下载器的瓦片数据转换成geotiff的大图的话,服务器需要消耗大量的资源用于对tiff大图的切割,于是思考如何实现cesium直接读取瓦片数据。

首先看高德地图的瓦片服务器,是比较经典的瓦片服务。通过加载高德地图的卫星地图,控制台里就可以看到。

具体的地址是:https://wprd01.is.autonavi.com/appmaptile?x=411&y=205&z=9&lang=zh_cn&size=1&scl=1&style=8&ltype=11

很容易就可以发现,这里的x,y,z分别对应着横坐标,纵坐标和放大等级,我们可以直接拿来使用。

而在Cesium中实践一下就可以发现,如果使用createtileMapService这个函数,它必须使用wmts服务,或者对应标准的瓦片来实现,而我们得到的这个链接并不是一个经典的瓦片服务链接,所以我们得自己添加{x},{y},{z}来手动添加。

这里就要用到UrlTemplateImageryProvider这个函数了,他就是一个对应坐标的资源地址描述,所以可以随心设置。

    var viewer = new Cesium.Viewer('cesiumContainer',{
        imageryProvider:new Cesium.UrlTemplateImageryProvider({
            url:'../satellite2/{z}/{x}/{y}.jpg',
            fileExtension : "jpg"
        })
        ,baseLayerPicker: false
    });

这里的sateillte是我的瓦片数据存储文件夹。可以使用全能地图下载器直接下载。

这样就可以实现快速的本地加载离线地图瓦片了。

这是最终效果,可以看到清晰度逐渐增加在地图的某一个部分,那就是这次下载的西安市地图全貌。

天地图,高德地图,必应地图都可以这么操作。

  • 4
    点赞
  • 8
    评论
  • 16
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 8 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

myc0523

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值