代码之家  ›  专栏  ›  技术社区  ›  Michał Pękała

iframe中的gmap偏离中心

  •  1
  • Michał Pękała  · 技术社区  · 14 年前

    我有一个谷歌地图(api 2),作为一个独立的页面,它可以正常工作。

    但是,当我在iframe中加载映射页时 Thickbox )地图偏离中心:
    通常它集中在德国,而在iFrame中,它集中在伊朗。

    如何使地图中心正确?


    我猜想:

    该问题可能由iframe加载时间引起。我猜,当脚本仍在加载时,它会根据iframe大小计算窗口大小。奇怪的是,我在文档准备好后加载了地图。

    $(document).ready(function() {
      setupSearchForm();
      setupMap();
      setupResults();
    });
    

    例如,当我刷新已加载的iframe时,中心将返回德国。 加载地图的代码示例

    1 回复  |  直到 14 年前
        1
  •  1
  •   Michał Pękała    14 年前

    我的猜测结果是好的。原因是加载期间计算的iframe大小。

    解决方法很简单:只需 指定 size 在里面 GMapOptions -然后地图就会知道它的容器有多大。

    在我看来,这意味着改变

    map = new GMap2(document.getElementById("map_canvas"));
    

    map = new GMap2(document.getElementById("map_canvas"), { 
      size:new GSize(970,500),
    });