Dans cet exemple, nous allons créer une carte :
Elle comporte un marqueur :
Dès l'ouverture de la page, l'info-bulle (ou fenêtre) s'ouvre au maximum de façon à couvrir la quasi-totalité de la surface de la carte. Les informations détaillées contenues à l'intérieur sont issues d'un fichier HTML ou PHP etc... (voir capture d'écran ci-dessous)
En cliquant sur
situé en haut à droite de l'info-bulle, celle-ci va rétrécir lentement et afficher
de nouvelles informations, plus synthétiques (voir capture d'écran ci-dessous)
.

Le bouton
a été remplacé par
. En cliquant dessus , l'info-bulle va s'agrandir à nouveau pour atteindre sa
taille maximale.
Le bouton
permet quant à lui de fermer l'info-bulle. Dès lors un click sur le marqueur
va déclencher l'ouverture maximale de l'info-bulle.
[1] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> [2] <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xml:lang="fr"> [3] <head> [4] <title>Google Maps - Fenêtre agrandissable - Le Logis Royal à Loches</title> [5] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [6] [7] <script src="http://maps.google.com/maps?file=api&v=2.89&key= Mettez Votre Clef API Ici " type="text/javascript"></script> [8] <link rel="stylesheet" type="text/css" href="http://www.touraineverte.com/Google-Maps/style.css"></link> [9] <link rel="alternate" type="application/rss+xml" href="http://www.touraineverte.com/Google-Maps/rss.xml" title="Google Maps : Exemples et Tutoriels"></link> [10] </head> [11] [12] <body onunload="GUnload()"> [13] <div id="EmplacementDeMacarte" style="width: 740px; height: 400px"></div> [14] <p></p> [15] <div id="cadre"> [16] 15 secondes après l'affichage de cette page, l'info-bulle va s'agrandir automatiquement.<br /> [17] Vous pouvez également cliquer sur les boutons ci-dessous pour agrandir ou rétrécir l'info-bulle<br /> [18] <br /> [19] <div align="center"> [20] <input type="button" value="Agrandir" onClick="Macarte.getInfoWindow().maximize();" /> [21] <input type="button" value="Rétrécir" onClick="Macarte.getInfoWindow().restore();" /> [22] </div> [23] </div> [24] <script type="text/javascript"> [25] //<![CDATA[ [26] if (GBrowserIsCompatible()) { [27] _mFlags = {}; [28] var Macarte = new GMap(document.getElementById("EmplacementDeMacarte")); [29] Macarte.addControl(new GLargeMapControl()); [30] Macarte.addControl(new GMapTypeControl()); [31] Macarte.setCenter(new GLatLng(47.127268,0.998905),16); [32] var point = new GLatLng(47.127268,0.998905); [33] var Marqueur = new GMarker(point); [34] var html = "<b>Le logis royal à Loches</b><br />Jeanne d\'Arc vient débusquer Charles VII à Loches pour l\'inciter à délivrer Reims !"; [35] var infoUrl = "http://www.touraineverte.com/Google-Maps/openinfowindowhtml/maxUrl/exemple2/LogisRoyalLoches.htm"; [36] GEvent.addListener(Marqueur, "click", function() { [37] Marqueur.openInfoWindowHtml(html, {maxUrl:infoUrl}); [38] setTimeout("Macarte.getInfoWindow().maximize()",0); [39] }); [40] Macarte.addOverlay(Marqueur); [41] GEvent.trigger(Marqueur,"click"); [42] } [43] else { [44] alert("Désolé, l'API Google Maps n'est pas compatible avec votre navigateur."); [45] } [46] //]]> [47] </script> [48] </body> [49] </html>
Ligne [7] :
N'oubliez pas de remplacer Votre_Clef_API_Ici par la clé API que google maps vous a fourni pour votre site.
Lignes [20] - [21] :
Création de deux boutons pour [ Agrandir ] ou [ Rétrécir ] la info-bulle sur la carte.
Lignes [32] - [41] :
Créé un nouveau marqueur ( Marqueur ) aux latitude et longitude du point (Lat : 47.127268 - Lng : 0.998905).
Ligne [34] :
html : C'est le texte, au format HTML, apparaissant dans la petite info-bulle :
Ligne [35] :
infoUrl : C'est le nom du fichier dont le contenu va apparaître
dans la info-bulle, une fois celle-ci agrandie :
http://www.touraineverte.com/Google-Maps/openinfowindowhtml/maxUrl/exemple2/LogisRoyalLoches.htm,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Google Maps - Statue de François Rabelais à Chinon</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta> <link href="http://www.touraineverte.com/Google-Maps/openinfowindowhtml/maxUrl/exemple2/LogisRoyalLoches.css" rel="stylesheet" type="text/css"></link> </head> <body> <p><span id="photo"><img src="http://www.touraineverte.com/Google-Maps/openinfowindowhtml/maxUrl/exemple2/photo_monument-loches.jpg" alt="Le logis royal à Loches" /></span> Cité Royale de Loches : Royale et imprenable<br /> Remontez le temps pour découvrir l'une des plus belles cités fortifiées de France<br /> Le DONJON, haut de 36 mètres, a été construit par un comte d'Anjou, Foulques Nerra, au début du XIe siècle. S'il figure parmi les plus imposants de son époque en Europe, il est aussi l'un des mieux conservés. Modèle d'architecture militaire, il est transformé en prison royale par Louis XI.<br /> </p> <p>Le LOGIS ROYAL se trouve à proximité. Ce joyau de la Renaissance française, haut lieu de l'Histoire de France, a été une résidence de prédilection de la dynastie des Valois. Sa façade ouverte en terrasse domine la ville et la vallée de l'Indre. Le logis a accueilli notamment Jeanne d'Arc, Agnès Sorel et Anne de Bretagne.</p> <p>Dès le pavillon d'entrée du donjon, au-delà de la barbacane, le visiteur est plongé dans l'univers carcéral du Moyen-Âge : la tour Louis XI, le martelet, la salle de la question, la salle des graffiti, les cachots, les fortifications et les souterrains... Non loin du logis du gouverneur, le jardin médiéval avec sa pergola, ses banquettes de pelouse et ses barrières d'osier vivant offre un contraste singulièrement serein dans cet environnement oppressant.</p> <p>Pour en savoir plus : <a href="http://www.cg37.fr/index.php?media=106" title="La cité royale de Loches" target="_parent">La cité royale de Loches</a></p> </body> </html>
Ligne [36] :
Détecte si un click est effectué sur le marqueur ( Marqueur
). Les Lignes [37] et [38] sont alors exécutées.
Ligne [37] :
Overture d'une info-bulle associée au marqueur ( Marqueur ) affichant au :
Ligne [38] :
Après une délai d'attente de 0 millisecondes,
l'ouverture de la grande info-bulle est déclenchée et le contenu du fichier infoUrl
( LogisRoyalLoches.htm ) s'affiche à l'intérieur de celle-ci.
Ligne [40] :
Ajoute le marqueur "Marqueur" à la carte "MaCarte".
Ligne [41] :
Déclenche l'événement lié au click sur le marqueur ( Marqueur
).
Attention :
Lorsque la fênetre adopte sa taille maximale, les différents contrôles (Zoom, mini carte, bouton [Plan/Carte] - [Satellite] - [Mixte] , échelle) sont masqués. Ils réapparaitront lorsque la info-bulle sera à nouveau rétrécie
Astuce :
Il est possible de retarder l'ouverture de la grande info-bulle, lors de l'affichage de la carte, en remplaçant 0 par le délais souhaité en millisecondes dans setTimeout :
Ligne [38] : setTimeout("Macarte.getInfoWindow().maximize()",0);
à remplacer par (pour un délais d'attente de 15 secondes)
Ligne [38] : setTimeout("Macarte.getInfoWindow().maximize()",15000);
Il faut fixé la version de l'api à 2.89, sinon cela ne fonctionne pas :
Ligne [7] <script src="http://maps.google.com/maps?file=api&v=2.89&key= Mettez Votre Clef API Ici " type="text/javascript"></script>