lundi 15 décembre 2008

Différer le chargement du script Google Map

Youpie ! il est possible de charger l'API de google Maps quand on veut, et plus au chargement de la page ! Ce qui va bien alléger le chargement de la page, et même l'éviter s'il n'est pas utile !

Voici deux examples:
Exemple 1, 2

En gros, ça donne ça:
var map;

function loadMap() {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 6);
map.addOverlay(new GMarker(map.getCenter()));
}

function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps?file=api&v=2.x&key=_key_&async=2&callback=loadMap";
document.body.appendChild(script);
}
La seule chose à faire, au lieu de créer une bête balise script, c'est de la créer dynamiquement, et d'ajouter à l'URL du script un attribut callback avec le nom de la fonction à rappeler !

Allégeons enfin le chargement de nos pages googleMap !

2 commentaires: