openlayers 3 加载地图瓦片数据

openlayers 是一套开源的js地图渲染框架,数据源可以使用天地图的数据源。

map对象相当如一个容器,它上面可以铺放多个layer,layer可以加载数据源或其它作用。

有关openlayers 的详细介绍,请参考http://openlayers.org/


下面创建一个layer

urlTemplate中包含x,y,z(z:地图级数,x:x方向序数, y:y方向序数)

function newTilesUrlLayer(urlTemplate, tileSize, zeroLevelSize) {
    var resolutions = new Array(22);
    for (var i = 0, ii = resolutions.length; i < ii; ++i) {
        resolutions[i] = zeroLevelSize / Math.pow(2, i) / 512;
    }
    var layer = new ol.layer.Tile({
        source: new ol.source.XYZ({
            tileSize: tileSize,
            tileUrlFunction: tileUrlFunctionCallBack,
            projection: 'EPSG:4326',
            //tilePixelRatio: tileSize / 256,
            tileGrid: new ol.tilegrid.TileGrid({
                resolutions: resolutions,
                tileSize: tileSize,
                origin:[-180,-90]
		    })
        }),
        name: ''
    });

    function tileUrlFunctionCallBack(tileCoord, pixelRatio, projection) {
        var z = tileCoord[0];
        var x = tileCoord[1];
        var y = tileCoord[2];

        var xStr4 = "0000" + x.toString();
        xStr4 = xStr4.substr(xStr4.length - 4, 4);
        var yStr4 = "0000" + y.toString();
        yStr4 = yStr4.substr(yStr4.length - 4, 4);

        var url = urlTemplate.replace('{z}', z.toString());
        url=url.replace('{y}', yStr4);
	    url=url.replace('{y}', yStr4);
        url = url.replace('{x}', xStr4);
        url = url.replace('{x}', xStr4);
        return url
    }

    return layer;
}
这里的 tileUrlFunctionCallBack淡淡的

就是解析数据源地址的回调函数。


以下给出一个应用的例子的完整代码:

1. Itelluro.ol.js

/**
 * those are for pulling tiles from Itelluro tiles source address, which would return a new layer or map that is access to openlayer3.
 * refer to http://openlayers.org
 */

//
// map

/**
 * @param {string} id The container for the map.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值