Google Maps V3 - 调整地图和零星地图平铺加载大小

时间:2013-07-29 19:32:51

标签: google-maps-api-3 jquery-ui-resizable

我正在使用Google Maps和JqueryUI Resizable()方法(来自JqueryUI 1.8.7)。

如果单击此地图的右下角,则可以拖动并展开它。 http://www.energyjustice.net/t=eb5f7o

但是,如果你将其扩大,谷歌只提供最大约800像素宽的地图图层。如果你让它更高,它也有类似的问题。

如果您等待几分钟,有时会加载整套瓷砖。通常,当您展开地图时,它的行为非常奇怪。它似乎在Firefox中比在Chrome中更好。为什么会这样? 我该怎么做才能避免这种零星的行为?

2 个答案:

答案 0 :(得分:4)

调整容器大小后,您需要通过触发“调整大小”事件来告诉地图填充所有可用空间。

下面的一行在链接的页面上工作(调整大小后从firebug触发)

google.maps.event.trigger(map, 'resize');

根据JQueryUI.Resizable API文档,在“stop”事件被触发(调整大小结束)时调用它应该可以完成这项工作。

答案 1 :(得分:1)

经过这么多努力,我找到了这个解决方案:

请在地图初始化后添加以下代码:

var idleListener = google.maps.event.addListener(map, 'idle', function() { //important for full map shown 
  google.maps.event.trigger(map, 'resize');
  // google.maps.event.removeListener(idleListener);
});

var idleListener2 = google.maps.event.addListener(map, 'mousemove', function() {
  google.maps.event.trigger(map, 'resize');
  // google.maps.event.removeListener(idleListener2);
});