zoukankan      html  css  js  c++  java
  • openlayers6加载天地图混乱问题

    按照之前的加载百度地图的方式切片排版会错误

    修改resouce为下边任意一种:baidu_source 或者baidusource都可以正常加载百度地图

    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
        <title>Test Map</title> 
        <style>
          html,
          body,
          #viewDiv {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
          }
        </style>   <link href="./v6.3.1-dist/ol.css" rel="stylesheet" type="text/css" />
        <script src="./v6.3.1-dist/ol.js"></script>
        
      </head>
      <body class="claro">
        <div id="viewDiv"></div>
        <script type="text/javascript">
        var projection = ol.proj.get("EPSG:3857");
        var resolutions = [];
        for(var i=0; i<19; i++){
            resolutions[i] = Math.pow(2, 18-i);
        }
        var tilegrid  = new ol.tilegrid.TileGrid({
            origin: [0,0],
            resolutions: resolutions
        });
    
        var baidu_source = new ol.source.TileImage({
            projection: projection,
            tileGrid: tilegrid,
            tileUrlFunction: function(tileCoord, pixelRatio, proj){
                if(!tileCoord){
                    return "";
                }
                var z = tileCoord[0];
                var x = tileCoord[1];
                var y = tileCoord[2];
    
                if(x<0){
                    x = "M"+(-x);
                }
                 
                    y =  (-y);
                
    
                return "http://online3.map.bdimg.com/onlinelabel/?qt=tile&x="+x+"&y="+y+"&z="+z+"&styles=pl&udt=20151021&scaler=1&p=1";
            }
        });
        var  baidusource= new ol.source.XYZ({
           projection: 'baidu',
           maxZoom: 18,
           tileUrlFunction: function(tileCoord,ss,e) {
             var x = tileCoord[1];
             var y = tileCoord[2];
             var z = tileCoord[0];
             console.log(x,y,z,ss,e)
             y = -y 
             return "http://online3.map.bdimg.com/tile/?qt=vtile&x="+x+"&y="+y+"&z="+z+"&styles=pl&udt=udt=20170908&scaler=1&p=1" 
           },
           tileGrid: new ol.tilegrid.TileGrid({
             resolutions: resolutions,
             origin: [0, 0],
             //extent: ol.extent.applyTransform(extent, projzh.ll2bmerc),
             tileSize: [256, 256]
           })
         })
    
        var baidu_layer = new ol.layer.Tile({
            source: baidu_source
        });
    
        var map = new ol.Map({
            target: 'viewDiv',
            layers: [baidu_layer],
            view: new ol.View({
                center:  [12959773,4853101],
                zoom: 5
            })
        }); 
    </script> 
      </body>
    </html>
  • 相关阅读:
    转 c#中 base64字符串与普通字符串互转
    Dapper丶DapperExtention,以及AbpDapper之间的关系,
    Dapper优秀资料
    软件工程 BUAAMOOC项目Postmortem结果
    M1阶段个人总结
    Fifteen scrum meeting 2015-11-21
    Fourteenth scrum meeting
    第一阶段工作展示
    Alpha版本测试文档
    BUAAMOOC-Alpha版本发布说明
  • 原文地址:https://www.cnblogs.com/Leechg/p/13156791.html
Copyright © 2011-2022 走看看