這是一個非常古老的問題,但對於任何以此結束的人來說,將.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