我正在使用Google Maps和JqueryUI Resizable()方法(来自JqueryUI 1.8.7)。
如果单击此地图的右下角,则可以拖动并展开它。 http://www.energyjustice.net/t=eb5f7o
但是,如果你将其扩大,谷歌只提供最大约800像素宽的地图图层。如果你让它更高,它也有类似的问题。
如果您等待几分钟,有时会加载整套瓷砖。通常,当您展开地图时,它的行为非常奇怪。它似乎在Firefox中比在Chrome中更好。为什么会这样? 我该怎么做才能避免这种零星的行为?
答案 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);
});