加载时Google地图位置不正确

Nix*_*Nix 10 google-maps

我遇到了iframed Google地图的问题.基本上,这个位置不正确,但并非总是如此.我认为问题可能与地图处于隐藏div中的事实有关,后者将在稍后显示.

任何人都可以验证这确实是一个问题,或提出解决方案吗?我对地图没有多少控制权,因为它来自其他地方.

我试图给出iframe一个ID,然后我google.maps.event.trigger(map, "resize");在显示父容器的函数上定位,但无济于事.

编辑
根据要求,这是地图:

<iframe width="450" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/?ie=UTF8&amp;t=m&amp;ll=56.084298,11.074219&amp;z=6&amp;output=embed"></iframe>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它没有什么特别之处.它应该显示丹麦,但它有时显示德国和波兰.我敢肯定这些都是不错的地方,但客户看不到它的用处.

小智 9

我也可以证实这个问题.我不认为它与你隐藏的div有关,因为我也有固定元素的问题.

问题是,由于某种原因,您希望地图居中的位置最终位于iframe的左上角.我认为这是因为在google方面,地图调整大小事件在知道iFrame的完整大小之前就太早了.

试试这个,到目前为止它对我有用:

  1. 删除iframe src标记.

  2. 在iframe下面的某处嵌入以下javascript代码:

    <script type='text/javascript'>
        jQuery("iframe#headerMap").attr("src", "http://maps.google.com/maps/ms?etc etc....");
    </script>
    
    Run Code Online (Sandbox Code Playgroud)

因为它在iframe存在之后加载地图.如果我将来仍然遇到问题,我会尝试在上面的代码中添加一个短暂的延迟,使其在文档加载后运行.

  • 大!这解决了我的问题.为了不在js文件中硬编码src属性,我想将它保存在data-src属性的iframe中,并用`iframe.attr('src',iframe.data('src'))加载它. (2认同)