baidu地圖API疊加自定義圖層(三)- 通過切片實現(xiàn)圖層疊加

在前兩文中描述了通過疊加Geoserver WMS服務(wù)、通過代理層實現(xiàn)WMS服務(wù)的本地緩存,本文將講述通過切片的方式,按百度地圖的規(guī)則進(jìn)行切圖,按百度瓦片的XYZ規(guī)則進(jìn)行圖層疊加。

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

使用說明:

設(shè)置mapConfig.json,根據(jù)配置項請求WMS服務(wù)進(jìn)行切片,支持多線程方式。2016/8/2進(jìn)行了完善,改進(jìn)了多線程部分,增加了切片的進(jìn)度事件。

瓦片規(guī)則

瓦片存儲路徑:程序目錄\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);
                }
                //根據(jù)瓦片的文件路徑拼接URL
                var url = '/szgas_jd_tiles/' + zoom + '/' + x + '_' + y + '.png';
                return url;
            }
        }
        map.addTileLayer(tileLayer);
    }

小結(jié)

本文是百度地圖的最后一篇,分別講述了不同的幾種思路,實際應(yīng)用應(yīng)根據(jù)業(yè)務(wù)場景相互結(jié)合。

推薦

F3Earth是一群志同道合的伙伴發(fā)起的國產(chǎn)Web 3D Engine項目,github地址:https://github.com/f3earth/f3earth , 目前正在開發(fā)中,DEMO已初具功能,期待更多朋友的參與。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容