Google maps api 3 GoogleMapsV3-调整地图大小和零星地图分幅加载

Google maps api 3 GoogleMapsV3-调整地图大小和零星地图分幅加载,google-maps-api-3,jquery-ui-resizable,Google Maps Api 3,Jquery Ui Resizable,我正在使用Google地图和JqueryUI resizeable()方法(来自JqueryUI 1.8.7) 如果单击此地图的右下角,则可以拖动并展开它。 然而,如果你把它扩大,谷歌只提供大约800像素宽的地图图层。如果你把它弄得更高,它也会有类似的问题 如果您等待几分钟,有时会加载全套磁贴。通常,当您展开贴图时,它的行为非常奇怪。它似乎在Firefox中比在Chrome中工作得更好。为什么会这样? 我能做些什么来避免这种零星的行为 调整容器大小后,您需要通过触发“resize”事件通知贴图

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

如果单击此地图的右下角,则可以拖动并展开它。

然而,如果你把它扩大,谷歌只提供大约800像素宽的地图图层。如果你把它弄得更高,它也会有类似的问题

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

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

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


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

一旦调整容器的大小,您需要通过触发“resize”事件告诉映射填充所有可用空间

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


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

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

请在映射初始化后添加以下代码:

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);
});

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

请在映射初始化后添加以下代码:

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);
});

谢谢在Firefox和Chrome中工作得很好。这似乎对我很有用:var idleListener=This.addListenerOnce(This.map,'idle',function(){google.maps.event.trigger(This.rootScope.map,'resize');google.maps.event.removeListener(idleListener);});谢谢在Firefox和Chrome中工作得很好。这似乎对我很有用:var idleListener=This.addListenerOnce(This.map,'idle',function(){google.maps.event.trigger(This.rootScope.map,'resize');google.maps.event.removeListener(idleListener);});如果您发现谷歌地图的任何查询,请随时联系。如果您发现谷歌地图的任何查询,请随时联系。