【问题标题】:Google map showing gray areas when show / hidden显示/隐藏时显示灰色区域的谷歌地图
【发布时间】:2011-11-25 03:02:14
【问题描述】:

我遇到了这个问题:我在一页中有两张 Google 地图,每次只显示一张。一个显示用户选择的首选商店。如果用户想选择另一个地图,WebService 会提供最近的地图,并使用该信息隐藏第一个地图(和一些相关元素),创建另一个地图并显示它。

这是小提琴:

http://jsfiddle.net/Osoascam/ReSsM/2/

我有几个问题:

  1. 直接调用 Google Maps API(不是通过 google.load),有没有办法确定脚本何时完全加载,这样我就不会遇到“google is not defined”错误?

  2. 我可以做两张地图吗?传递对var currentMapId, searchMapId 的引用?当我发送参考时,我认为它可能会起作用......它正在起作用,但我认为这有点愚蠢。我不知道只有一个参考是否可以。

  3. 尝试一遍又一遍地快速单击按钮,地图会移动并出现大的灰色区域。这对小提琴来说没什么大不了的,但它在我的应用程序中,因为有时它会永远保持这种状态,即使用户拖动地图也是如此。这实际上是我最重要的问题,其他两个只是关于代码组织和优化的问题。我该如何解决?

  4. 最后,我不知道是不是我的印象,但是当你拖动它时,它似乎加载地图非常缓慢。

注意:实际上我的第二张地图从来没有加载过,但是应用程序太大了,我还在测试原因。出于某种奇怪的原因,每当我调整浏览器大小时,地图就会开始加载。

提前致谢,

奥斯卡

【问题讨论】:

  • 这个答案对我有帮助:stackoverflow.com/a/3845997/763010
  • 非常感谢!我已经等了 4 年终于解决了这个问题。哈哈,开个玩笑,但我相信这个评论可能会帮助有同样错误的人:)

标签: ajax google-maps-api-3


【解决方案1】:

我和你有同样的问题,我的布局真的很复杂,而且我在一个页面上也有多个 gmap。我为了解决这个问题所做的就是改变 z-index

我将其中一张地图包装在一个像这样的容器上:

<div style="height:0px;overflow:hidden;z-index:-999;">
<div id="map" style="width: 520px; height: 400px"></div>
</div>

这解决了问题,但我真的不知道为什么。我希望它有帮助! 祝你好运

【讨论】:

    猜你喜欢
    • 2011-04-16
    • 2016-12-10
    • 2012-11-09
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2015-11-10
    相关资源
    最近更新 更多