使用openlayers版本4,如何使视图适合矢量切片源中的所有要素?
通过持续到tileloadend
事件确定源已准备就绪。我无法使用map.getView().fit(vectorLayer.getSource().getExtent(), map.getSize());
因为getExtent
不是函数。但我发现other examples人们能够获得来源的范围。这是矢量图块源的限制吗?如果是这样,有没有办法解决这个限制,可能列出源的所有功能?
以下是我目前的代码:jsbin
答案 0 :(得分:1)
getExtent
方法适用于不是源的图层。并且没有getFeatures
方法可用于矢量切片。
vectorLayer.getSource().once('tileloadend', function (evt) {
if (vectorLayer.getSource().getState() === 'ready') {
map.getView().fit(vectorLayer.getExtent(), map.getSize());
console.info(map.getView().getCenter());
console.info(map.getView().getZoom());
}
})
我修改了您的代码并进行了检查,该图层仍然返回undefined
范围。
答案 1 :(得分:0)
使用
var extent = vectorTile.getExtent()
并在使用后适合
map.getView().fit(extent, { options });