baidu地图API叠加自定义图层(三)- 通过切片实现图层叠加

在前两文中描述了通过叠加Geoserver WMS服务、通过代理层实现WMS服务的本地缓存,本文将讲述通过切片的方式,按百度地图的规则进行切图,按百度瓦片的XYZ规则进行图层叠加。

切片工具源码已在github共享,地址如下:https://github.com/michael-laoyu/MapTileGenerator 。 记得点STAR!

使用说明:

设置mapConfig.json,根据配置项请求WMS服务进行切片,支持多线程方式。2016/8/2进行了完善,改进了多线程部分,增加了切片的进度事件。

瓦片规则

瓦片存储路径:程序目录\Tiles\Zoom\x_y.png


Paste_Image.png

Paste_Image.png

前端页面访问

将生成的切片拷贝到Web站点下,前端页面通过URL链接访问,参考如下:

      var tileLayer = new BMap.TileLayer({ isTransparentPng: true });
        tileLayer.getTilesUrl = function (tileCoord, zoom) {
            if (zoom >= 10) {
                var x = tileCoord.x;
                var y = tileCoord.y;

                if (x < 0) {
                    x = 'M' + (-x);
                }
                if (y < 0) {
                    y = 'M' + (-y);
                }
                //根据瓦片的文件路径拼接URL
                var url = '/szgas_jd_tiles/' + zoom + '/' + x + '_' + y + '.png';
                return url;
            }
        }
        map.addTileLayer(tileLayer);
    }

小结

本文是百度地图的最后一篇,分别讲述了不同的几种思路,实际应用应根据业务场景相互结合。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值