openlayers - 如何使视图适合矢量切片源中的所有特征?
问题描述
使用 openlayers 版本 4,我如何使视图适合矢量切片源中的所有功能?
在我通过监听事件确定源准备好之后tileloadend
。我不能使用map.getView().fit(vectorLayer.getSource().getExtent(), map.getSize());
,因为getExtent
它不是一个函数。但我发现了其他例子,人们能够获得来源的范围。这是矢量图块来源的限制吗?如果是这样,有没有办法解决这个限制,也许列出源的所有功能?
这是我到目前为止的代码:jsbin
解决方案
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
范围。
推荐阅读
- macos - 无法使用 smartbear 代码协作者的 P4 插件添加文件以供审阅
- python - 熊猫数据框中的正则表达式
- php - Cookie 和字符串比较不匹配
- python-3.x - AWS Lambda Python - 将密钥复制到“文件夹”会创建嵌套的“文件夹”。如何从监视中排除“文件夹”
- f# - 无法为 Orleans 3.0 生成 F# 接口库
- java - 在 Hybris-Spartacus 项目中具有新扩展的自定义 commercewebservices
- r - 使用 purrr::map 重命名更大列表中列表中元素的行名?
- sql - 将所有记录放在一个表中的性能损失
- html - 在 Chrome 中禁用 HTML 自动修复
- sql - ROW_NUMBER() OVER 因大型查询而超时。最佳解决方案?