地图有时仅出现在其div的左上角

时间:2012-01-10 12:32:57

标签: javascript google-maps-api-3

我正在使用Google Maps API v3 for javascript。在某些情况下,我只看到左上角的地图。要查看,请尝试转到http://telofast.com/telofun/#stationRanking,然后按其中一行。

5 个答案:

答案 0 :(得分:17)

当调整浏览器大小时,地图有效,因为正确设置了宽度和高度并且引发了resize事件。

解决问题的最快方法是在显示它的javascript之后调用resize方法(下面)。也许在showDiv('mapDiv');之后的showScoresAndCenterOn

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

答案 1 :(得分:6)

要解决此问题,您需要

  1. 调整地图大小

    google.maps.event.trigger(map, 'resize');
    
  2. 重新输入地图,其中myCenter是你的lat,lng点。

    map.setCenter(myCenter);
    
  3. 这有点像黑客但它有效。

答案 2 :(得分:3)

我有同样的问题让我困扰了几天,今天我找到了解决方案并且它有效!

在我的情况下,我使用标签来查看页面的不同部分。这不是jquery ui,我做到了。在一个标签中,我放置了地图的代码。当我点击地图选项卡时,它向我显示了地图但是已经破坏了地图。最后,我找出了问题和解决方案。

为了隐藏我的元素,我使用了display:none属性any来揭示我使用了display:block属性。当谷歌地图试图获取容器块的维度时,它找到0 x 0因为它被隐藏了。所以地图显示为破碎。

然后我将地图选项卡的css更改为position:absolute;left:-99999px;而不是display:none,并使用jquery添加类,并在必要时使用上述属性删除。然后代码开始工作了!我的地图已经修好了。

答案 3 :(得分:0)

将containar #Div宽度设置为100%.. 这对我有用。

答案 4 :(得分:-1)

非常感谢,我转向同样的问题。确实当你把display:none放在一边时,这会在试图查看谷歌地图时出现问题。我删除了显示:none并将其更改为屏幕外的位置,单击按钮时此位置会在屏幕中的某个位置发生变化,我的地图显示正确