You can go two ways with this:
1. Continue to use $.getScript
:
It seems that you need both an async=2
parameter as well as a different callback structure for it to work. My answer is adapted to your code from this 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&amp;v=2&amp;sensor=true&amp;callback=map_callback&amp;async=2&amp;key=API_KEY_HERE");
}
}
</script>
2. Use the Google AJAX Loader
Since you are already using a Google Library, why not use their loader to help you out:
<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>