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
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值