Vous pouvez aller de deux façons avec ceci:
1. Continuer à utiliser $.getScript
:
Il semble que vous avez besoin à la fois d'un paramètre async=2
ainsi que d'une structure de rappel différente pour que cela fonctionne. Ma réponse est adaptée à votre code à partir de cette 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. Utilisez le chargeur Google AJAX
Puisque vous utilisez déjà une bibliothèque Google, pourquoi ne pas use their loader pour vous aider:
<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>
Oui, l'OP a fourni une Clé API. Je l'ai supprimé de la question et l'ai remplacé par API_KEY_HERE –