0

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

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

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

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

4

2 回答 2

4

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

下面的行在您的链接中的页面上工作(调整大小后从萤火虫触发)

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

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

于 2013-07-29T19:55:00.527 回答
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);
});
于 2015-01-09T05:33:21.223 回答