你可以通過兩種方式處理此:
1,繼續使用$.getScript
:
似乎你需要一個async=2
參數以及一個不同的回調結構才能工作。我的答案適用於您的代碼great walkthrough here。
<script type="text/javascript">
function map_callback(){
var map = new GMap2(document.getElementById("mapTest"));
map.setCenter(new GLatLng(18, -77.4), 13);
map.setUIToDefault();
}
$(function(){
$('#sample').click(function(){
$.getScript("http://maps.google.com/maps?file=api&v=2&sensor=true&callback=map_callback&async=2&key=API_KEY_HERE");
}
}
</script>
2.使用谷歌AJAX裝載機
既然你已經使用了谷歌圖書館,爲什麼不use their loader幫助你:
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABCDEFG"></script>
<script type="text/javascript">
google.load("jquery", "1.3.2");
google.setOnLoadCallback(function(){
$('#sample').click(function(){
google.load("maps", "2", {"callback" : function(){
var map = new GMap2(document.getElementById("mapTest"));
map.setCenter(new GLatLng(18, -77.4), 13);
map.setUIToDefault();
} });
}
}, true); // Passing true, though undocumented, is supposed to work like jQuery DOM ready
</script>
是的,OP已經提供的API密鑰。我已將其從問題中刪除,並用API_KEY_HERE代替它 –