这是一个非常古老的问题,但对于任何以此结束的人来说,将.html页面加载到div
不是动态加载Maps API地图的正确方法。以下是应该如何完成的步骤:
首先,将所有Maps API脚本放在主页面 - 具有#googleMap
div的页面。或者,如果您想将该脚本本身放入异步加载的文件中,请将其放入.js文件并使用$.getScript()
加载。
然后,如果您要异步加载Maps API和地图以响应按钮单击,请使用this asynchronous Maps API example中的代码。
在该示例页面,你会不会使用此行:
window.onload = loadScript;
相反,你会从你的点击处理程序调用loadScript()
功能:
$('#maplink').click(function(){
$('.fades').fadeOut('slow');
$('#googleMap').show();
loadScript();
});
其中loadScript()
是示例中的Maps API加载功能。
实际上,您可以使用$.getScript()
加载Maps API - 只需给它使用loadScript()
示例函数中使用的URL即可。 loadScript()
函数几乎等同于$.getScript()
,除了硬编码的URL。
当然,您还需要在该示例中更改initialize()
函数中的内容以匹配您的页面。
感谢思想的后代。 – agconti 2013-08-21 13:10:06