【发布时间】:2015-11-09 21:30:43
【问题描述】:
我想更改我的 ol3 地图源的 url。我尝试过使用诸如 map.set 或 map.getlayers().set 之类的东西,但我似乎找不到访问源对象的方法。代码如下:
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());
console.log(map.get("layergroup").get("layers").get("url"));
map.get("layergroup").get("layers").set("url",loc);
}
有什么方法可以更改 url 属性并重新加载图层?
我还尝试使用 setSource 函数,如以下答案:here 但它似乎不起作用(无法设置未定义的来源)。
【问题讨论】:
-
是的,一段时间后使用一些简单的 setsource 设法修复了它,但不是那么简单,当我到达我的电脑时会在这里发布。
-
@JonatasWalker
var viewaux = new ol.View({ projection: ol.proj.get('PIXELS'), extent: mapExtent, maxResolution: mapTileGrid.getResolution(0), rotation: Math.PI / 5 }); layer.setSource(saux); map.setView(viewaux);就这么简单:)