openlayers发布百度地图

 瓦片数据使用http-server发布

init(){  
//2 // 自定义分辨率和瓦片坐标系
      var resolutions = [];
      var maxZoom = 18;
      // 计算百度使用的分辨率
      for (var i = 0; i <= maxZoom; i++) {
        resolutions[i] = Math.pow(2, maxZoom - i);
      }
      var tilegrid = new TileGrid({
        origin: [0, 0],
        resolutions: resolutions    // 设置分辨率
      });

      // 创建百度地图的数据源
      var baiduSource = new TileImage({
        projection: 'EPSG:3857',
        tileGrid: tilegrid,
        wrapX: false,
        tileUrlFunction: function (tileCoord, pixelRatio, proj) {

          console.log("zb:", z, x, y);
          var z = tileCoord[0];
          var x = tileCoord[1];
          var y = tileCoord[2];

          // 百度瓦片服务url将负数使用M前缀来标识
          if (x < 0) {
            x = -x;
          }
          if (y < 0) {
            y = -y;
          }

          return "http://127.0.0.1:8081/roadmap/" + z + "/" + x + "/" + y + ".png";
        }
      });
      // // 百度地图层
      var baiduMapLayer2 = new TileLayer({
        source: baiduSource
      });



      // 创建地图
      var map = new Map({
        layers: [
          baiduMapLayer2
        ],
        view: new View({
          center: transform([121.06, 31.27], 'EPSG:4326', 'EPSG:3857'),
          //extent: [53, 4, 73 ,135],
          projection: 'EPSG:3857',  // EPSG:4326格式的经纬度
          zoom: 12,
          minZoom: 11,
          maxZoom: 14
        }),
        target: "map",
      });
      console.log("map", map)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值