Google maps 使用ajax调用google maps时显示的大小不正确
我在一个网站上使用谷歌地图,该网站使用ajax smartAjax插件获取内容。但是,地图被放置在“联系我们”页面上,如果我第一次调用此页面,地图将完整显示,如果我单击“返回”,即我们的概念,然后再次单击“联系我们”,则地图仅显示部分。我已经为此奋斗了好几个星期,在这方面我真的无法得到任何帮助 有没有人可以看看这里,告诉我在使用ajax调用地图后,我可以做些什么使它完整地显示出来 这是: 我将感谢任何帮助 干杯 更新 解决方案由jayarjo发布Google maps 使用ajax调用google maps时显示的大小不正确,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我在一个网站上使用谷歌地图,该网站使用ajax smartAjax插件获取内容。但是,地图被放置在“联系我们”页面上,如果我第一次调用此页面,地图将完整显示,如果我单击“返回”,即我们的概念,然后再次单击“联系我们”,则地图仅显示部分。我已经为此奋斗了好几个星期,在这方面我真的无法得到任何帮助 有没有人可以看看这里,告诉我在使用ajax调用地图后,我可以做些什么使它完整地显示出来 这是: 我将感谢任何帮助 干杯 更新 解决方案由jayarjo发布 google.maps.event.addLi
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时必须包含的内容,它工作得非常出色。正如我在评论中所写,您的javascript代码有几个bug。如果您解决了这些问题,那么这个问题很可能也会得到解决 然而,一个快速的技巧是写以下几行:
google.maps.event.trigger(map, 'resize');
在您的代码中的某个地方,在用户更改“联系我们”选项卡之后。您可以尝试修改地图初始化功能。不要每次单击链接时都初始化映射
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);
}
您应该使用浏览器上的开发工具,例如,获取firefox的Firebug,或在chrome中按“F12”。你的javascript代码抛出了几个错误——其中一个与谷歌地图坐标有关。这不是黑客行为。这是告诉API地图现在可见并且其大小记录需要更新的唯一方法。我的代码中的某些地方对我来说不够具体,抱歉。有很多代码。你指的是什么代码?谁能告诉我在哪里粘贴这个代码。我试过几个地方,但没有成功。不,不幸的是,一切都一样。总是只显示地图的一部分,从上面的另一个解决方案中,我不知道将代码片段粘贴到哪里。将谷歌地图与ajax结合使用真的很难吗。我觉得整个世界都在这么做……你的代码中有一个初始化函数。那不是你写的吗?不管怎样,谷歌地图在Ajax上运行得非常好。我说我不知道在哪里粘贴它时,我并不是在谈论你的解决方案。我从奥利弗那里得到了解决办法。我试过你的版本,和以前一样,地图只显示了一部分。无论如何,我已经更新了我的问题,因为有一个有效的解决方案。