alert()更改OL3缩放的功能

时间:2014-12-01 10:38:18

标签: javascript zoom openlayers alert openlayers-3

我创建了一个包含多个图层的地图,并想要缩放到其中一个图层(map_coverage_S)的范围,所以就像这样:

extent = map_coverage_S.getSource().getExtent();
view.fitExtent(extent, map.getSize());

不幸的是缩放功能不起作用,但如果我在这两行之间发出提醒:

extent = map_coverage_S.getSource().getExtent();
alert(extent);
view.fitExtent(extent, map.getSize());

它有效! 但是,警报是(无限,无限,无限,无限)。当我发出第二个警报时,它会返回正确的坐标,就像我期望的那样。因此,似乎警报似乎“刷新”#34;我的地图。如何在没有警报的情况下获得解决方案?我已经尝试了不同类型的计时器和睡眠功能,或外包功能,但只有警报才能产生正确的结果。 谁能帮我? 谢谢, ·阿尔

1 个答案:

答案 0 :(得分:0)

啊,我已经解决了这个问题!

我找到了触发事件的解决方案:

map_coverage_S.addEventListener("change", function(event) {
    map.getView().fitExtent(map_coverage_S.getSource().getExtent(), (map.getSize()));

});     

祝你好运, 阿恩