var loadGoogleMaps = (function($) { var now = $.now(), promise; return function( version, apiKey, language ) { if( promise ) { return promise; } //Create a Deferred Object var deferred = $.Deferred(), //Declare a resolve function, pass google.maps for the done functions resolve = function () { deferred.resolve( window.google && google.maps ? google.maps : false ); }, //global callback name callbackName = 'loadGoogleMaps_' + ( now++ ), // Default Parameters params = $.extend( {'sensor': false} , apiKey ? {'key': apiKey} : {} , language ? {'language': language} : {} );; //If google.maps exists, then Google Maps API was probably loaded with the