美文网首页
openlayer调用百度地图

openlayer调用百度地图

作者: Quasimodo_403c | 来源:发表于2020-06-19 08:43 被阅读0次
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>叠加百度地图瓦片</title>
    <style type="text/css">
    html,
    body,
    #map {
        margin: 0;
        height: 100%;
        width: 100%;
        padding: 0;
    }
    </style>
    
    <link rel="stylesheet" href="./ol.min.css">
    
    <script src="./ol.min.js"></script>
    </head>
    
    <body>
    <div id="map"></div>
    
    <script type="text/javascript">
        var resolutions = [];
    for(var i=0; i<= 18; i++) {
        resolutions[i] = Math.pow(2, 18 - i);
    }
    
    var tileGrid = new ol.tilegrid.TileGrid({
        origin:[0, 0],
        resolutions: resolutions
    });
    
    var baiduSource = new ol.source.TileImage({
        projection: "EPSG:3857",
        tileGrid: tileGrid,
        tileUrlFunction: function(tileCoord, pixelRatio, proj) {
            if(!tileCoord){
                return "";
            }
            var [z, x, y] = tileCoord;
    
            if(x < 0) {
                x = `M${-x}`;
            }
            if(y < 0) {
                y = `M${-y}`;
            }
            var num = Math.floor(Math.random() * 5);
            return `http://online${num}.map.bdimg.com/tile/?qt=tile&x=${x}&y=${y}&z=${z}&styles=pl&scaler=2&udt=20180303`;
        }
    });
    
    var baiduLayer = new ol.layer.Tile({
        source: baiduSource
    });
    
    var map = new ol.Map({
        target:"map",
        layers:[
            baiduLayer
        ],
        view: new ol.View({
            center: ol.proj.fromLonLat([121.48, 31.22]),
            zoom: 8
        })
    });
    
    </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:openlayer调用百度地图

          本文链接:https://www.haomeiwen.com/subject/jfnmxktx.html