缩放OpenLayers3贴图以覆盖多个矢量层
Zooming an OpenLayers3 map to cover multiple vector layers
我有一个OpenLayers3映射,由一个OSM Tile层和一个或多个Vector层组成。我可以使用将地图缩放为单层
vector.addEventListener("change", function() {
map.getView().fitExtent(vectorSource.getExtent(), map.getSize());
});
这是有效的。然而,如果我尝试使用添加层的循环中的以下内容来缩放以覆盖多个层
vector.addEventListener("change", function () {
if (bounds == null) {
bounds = vectorSource.getExtent();
} else {
bounds = bounds.extend(vectorSource.getExtent());
}
map.getView().fitExtent(bounds, map.getSize());
});
在循环外声明边界的情况下,使用单层的映射将继续工作。然而,对于多个层,else块中的代码会给出错误"未定义不是函数"。
根据文档,getExtent()返回一个扩展对象,而扩展对象有一个扩展方法,所以我不确定为什么会出错。
一边解决自己的问题。我错误地使用了extend。正确的代码是:
vector.addEventListener("change", function () {
if (bounds == null) {
bounds = vectorSource.getExtent();
} else {
bounds = ol.extent.extend(bounds, vectorSource.getExtent());
}
map.getView().fitExtent(bounds, map.getSize());
});
相关文章:
- 在循环中分配json值时,值被覆盖
- 谷歌地图固定位置覆盖
- 只覆盖箭头键滚动事件
- JQuery覆盖不更改单选选项
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 覆盖函数中的函数
- 无法覆盖CSS伪元素:before
- 如何覆盖原型中的事件侦听器
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 如何覆盖主干中的extend方法
- jQuery无法处理覆盖
- qoxdoo的代码覆盖工具
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 缩放OpenLayers3贴图以覆盖多个矢量层
- OpenLayers3覆盖文本框和按钮