仅在窗口更改时正确显示地图

时间:2014-04-07 01:40:14

标签: javascript html css angularjs openlayers

我正在开发一个利用某家私人公司的地图引擎的项目,我在这里不能提及。

系统曾经在JQuery中,我们最近做了一些相当大的修改,现在系统在AngularJS中实现。

在屏幕的左侧,我们有一个显示项目的滑动条。 在屏幕的右侧,我们有地图。

我的问题是,当我加载页面时,地图无法正常显示,内部叠加层非常小。我检查了它们的尺寸,但它们是正确的。

但是,当我手动调整窗口大小或从G. Chrome打开Element Inspector时,地图会完全显示。

我试图重新绘制clusterLayer,调整地图大小,调整地图的div,但似乎没有任何效果。

我发现这篇文章Google map does not display properly,它可以解决我的问题,但我对地图的加载方式没有任何影响。

由于

2 个答案:

答案 0 :(得分:3)

我和ol3结合角度有类似的问题。我的解决方法是添加:

$(document).ready(function(){map.updateSize()});

地图是我的ol3地图对象。在这种情况下,我没有使用角度的openlayers指令。顺便说一句,使用时没有显示问题。 也许这有帮助。

答案 1 :(得分:0)

我遇到了类似的问题,并没有提供任何解决方案。所以我使用了像这样的timeOut函数,它起作用了:

setTimeout(function() {
   $scope.$apply(function(){
        map.updateSize();
   })
});