0

我在使用 ajax(smartAjax 插件)提取内容的网站上使用谷歌地图。然而,地图被放置在“联系我们”页面上,如果我第一次调用这个页面,地图会完整显示,如果我点击返回即“我们的概念”,然后再次点击“联系我们”,地图仅部分显示。我已经为此奋斗了数周,对此我真的无法获得任何帮助。

有没有人可以在这里看看并告诉我在使用 ajax 调用地图后我可以做些什么来使地图完整显示?

在这里: 请在此处查看网站。

我将不胜感激任何帮助。

干杯

更新 解决方案由 jayarjo 发布

google.maps.event.addListenerOnce(map, 'idle', function() {
    google.maps.event.trigger(map, 'resize');
    map.setCenter(point); // be sure to reset the map center as well
});

这是使用 ajax 时必须包含的内容,它运行良好。

4

2 回答 2

0

您可以尝试修改地图initialize()功能。不要在map每次点击链接时初始化。

var map;
function initialize() {
    var myOptions = {
        center: new google.maps.LatLng(-34.397, 150.644),
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map"), myOptions);
} 
于 2012-06-13T11:39:35.080 回答
0

正如我在评论中所写,您的 javascript 代码有几个错误。如果你修复了这些,很可能这个问题也将得到修复。

但是,快速破解是编写以下行:

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

在您的代码中的某处,就在用户更改为“联系我们”选项卡之后。

于 2012-06-13T10:00:21.000 回答