更改XYZ图层的源网址并重新绘制图层/地图?

时间:2015-11-09 12:25:30

标签: javascript openlayers-3

我想更改ol3地图源的网址。我尝试过使用map.set或map.getlayers()。set等等,但我似乎无法找到访问源对象的方法。这是代码:

text-align

有什么方法可以更改url属性并重新加载图层?

我也尝试过使用setSource函数,如下面的答案:here 但它似乎不起作用(不能定义未定义的源)。

1 个答案:

答案 0 :(得分:1)

尝试以下

function init() {
    var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.XYZ({
                    projection: 'PIXELS',
                    tileGrid: mapTileGrid,
                    url: loc
                })
            })
        ],
        view: new ol.View({
            projection: ol.proj.get('PIXELS'),
            extent: mapExtent,
             maxResolution: mapTileGrid.getResolution(0)
             })
        });

map.getView().fit(mapExtent, map.getSize());
//get alll the layers exist on your map
var layers = map.getLayers();
//lets assume you want to set the url for the first layer found
layers[0].getSource().setUrl(loc); 
}