L'API Google Maps Xml et Ajax sont sur un site web

Navigation: Pages Webmaster > Programmation


Utiliser un flux xml pour afficher des données sur une carte Googlemaps


Nous avions vu dans notre précédent article le service de géolocalisation avec l'API Google Maps, permettant d'afficher une carte du point de connexion de l'internaute.

Dans le cas où il y a plusieurs points, il suffit d'utiliser la base SQL, mais si la quantité d'information risque d'être important, on peut alors utiliser les Flux XML avec la syndication de Flux.




Api google maps et XML


Le principe des flux xml dans l'API est d'aller chercher un ensemble d'informations (en l'occurrence des coordonnées géographique, des noms de villes) dans un fichier xml, ce dernier ficher est constitué à la volée avec la syndication de flux. La syndication étant à part, partons du principe que le fichier xml est généré ( voyez ici pour en savoir plus sur la syndication de Flux)



Prenons en exemple un fichier XML déja utilisé sur le site :

La structure est la suivante :



markers

marker lat="" lng="" link="" ville="" type="" guid="" title="" cat=""

markers




Au niveau de l'utilisation de l'API, l'appel et l'utilisation du fichier xml peut se faire ainsi :




GDownloadUrl('data.xml', function(data) {

MaCarte.clearOverlays();

var xml = GXml.parse(data);

var markers = xml.documentElement.getElementsByTagName('marker');

for (var i = 0; i < markers.length; i++) {

var type = markers[i].getAttribute('type');

var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')), parseFloat(markers[i].getAttribute('lng')));

var title = markers[i].getAttribute('title');

var url = markers[i].getAttribute('guid');

var link = markers[i].getAttribute('link');

var ville = markers[i].getAttribute('ville');

var type = markers[i].getAttribute('type');

var cat = markers[i].getAttribute('cat');

var marker = creerMarker(point, title, url, link, ville, type, cat);

MaCarte.addOverlay(marker);

}

});




C'est la fonction creerMarker qui va ensuite positionner l'épingle sur le point et afficher une info-bulle classique ou en html avec les informations sur la ville, l'url, la catégorie etc ...



La carte est bien ainsi, mais selon la taille du fichier xml et les types d'information, on se retrouve avec une carte avec de nombreux marqueurs positionnés, de couleur différente eventuellement, mais il n'est pas possible de faire afficher une information donnée par une couleur de marqueur. Ajax va alors nous aider



Ajax et Google Maps



Le fichier Xml étant constitué voire même affiché sur la carte, il ne reste plus qu'à sélectionner les données et permettre avec des boutons radios (par exemple) de ne faire afficher qu'une seule couleur de marqueur.



La fonction creerMarker peut alors devenir :




function creerMarker(point, title, thumb, link, ville, type, cat) {

if(type=='Entreprise'){var icone = entreprise;}

if(type=='Boutique'){var icone = boutique;}

if(type=='Freelance'){var icone = freelance;}

if(type=='Association'){var icone = association;}

if(type=='Club'){var icone = club;}

var marker = new GMarker(point, icone);

return marker;

}




Au chargement de la carte, il faut gérer les boutons radios positionnés dans un formulaire classique





var MesBalisesInput = document.getElementsByTagName('input');

if(MesBalisesInput != null){

for(var i = 0; i < MesBalisesInput.length; i++){

if(MesBalisesInput[i].type == 'radio'){

MesBalisesInput[i].onclick=function(){Charge(this);}

}

}

}





function Charge(val){

GDownloadUrl('data.xml', function(data) { // voir au dessus

}

}






Le script présente ainsi une carte avec un choix de bouton radio permettant de sélectionner des "types de", avec des données issues d'une base SQL, et interrogées par le cache d'un flux de syndication.

Le résultat peut-être vu sur cet Annuaire thématique cartographié



Article écrit par Webmaster le 19/11/2007
(Hits 12098
- Catégorie : Programmation)

Faites passer - Imprimer
Partagez cette page :



Commentaires

Cet article n'a pas encore été commenté.
Vous pouvez vous exprimer en remplissant le formulaire ci-dessous.


Autres publications Programmation

Améliorer Adsense via les annonces texte ou images
(Ecrit le 11/03/2012 - 3.637 lectures)
Google Adsense propose pour les pages web deux formats d'annonces et incite à utiliser le format image, quelles sont les améliorations à apporter.

Url en bit.ly sous ajax
(Ecrit le 15/03/2010 - 3.751 lectures)
Autre manière de calculer une url courte de type bit.ly et de profiter des traitements asynchrones possibles avec ajax

Optimiser l'API bit.ly pour un affichage plus rapide des pages
(Ecrit le 08/03/2010 - 3.804 lectures)
Bit.ly est le site permettant de raccourcir une url, et dont l'API permet de raccourcir à la volée. Hélas cette api peut ralentir l'affichage des pages, voyons comment intégrer l'API et afficher ses pages aussi vite qu'avant.

Intégrer l'API bit.ly pour twitter
(Ecrit le 06/03/2010 - 6.270 lectures)
Twitter, le réseau social, peut être alimenté par des articles de site web et efficacement lorsque les url ont été raccourcies. Voyons alors comment générer à la volée des url avec bit.ly et ce grâce à l'API proposée.

Dessiner dans une image avec PHP
(Ecrit le 23/02/2010 - 4.227 lectures)
Après avoir vu comment écrire dans une image, voyons comment dessiner dans une image puis écrire avec d'une part des polices de caractère et des couleurs, mais également des paramètres passés en variable.

Ecrire dans une image à la volée
(Ecrit le 22/02/2010 - 4.346 lectures)
Le langage PHP permet d'écrire dans une image à la volée afin par exemple d'y ajouter un texte en superposition. Cette fonction permet également de masquer l'url de l'image puisque crée par le serveur.

Redimensionner photo pour le web mobile
(Ecrit le 15/02/2009 - 5.489 lectures)
Le web mobile ne peut permettre de charger des images de grande résolution. Il convient de les redimensionner. Pour ce faire utilisons PHP avec la bibliothèque GD, script en ligne.

Passer au web version mobile
(Ecrit le 09/02/2009 - 8.178 lectures)
Comment procéder pour écrire son site en version mobile pour smartphone, pda ou téléphone mobile avec wap. Voyons comment appliquer un template dédié pour le web sur mobile.

Structure pour web mobile
(Ecrit le 09/02/2009 - 6.757 lectures)
Les pages web pour téléphone mobile ou pour smartphone ne se construisent pas de la même manière que pour un site web avec navigateur classique. Quelques limitations sont à prendre en compte, voyons ces points.

Faut il externaliser ses scripts
(Ecrit le 09/12/2008 - 4.744 lectures)
Pour obtenir des temps de réponses corrects et si possible optimum, tout webmaster doit se poser la question de savoir si il faut externaliser les scripts d'un site web.

Reseau Social Friend connect
(Ecrit le 05/12/2008 - 4.334 lectures)
Google ouvre son réseau social Friend Connect aux autres plateforme et permet d'installer cet outil très facilement sur un site web.

Feuilles de styles statiques
(Ecrit le 09/11/2008 - 3.482 lectures)
Les feuilles de style dynamiques ne sont pas une bonne solution du coté de l'optimisation des pages web

Optimiser ses scripts
(Ecrit le 05/10/2008 - 3.325 lectures)
YSLOW propose de positionner ses scripts correctement dans ses pages web pour améliorer la vitesse de chargement.

Optimiser la lecture des feuilles de style
(Ecrit le 01/10/2008 - 2.699 lectures)
Cinquième règle YSLOW pour optimiser son site web : positionner les feuilles de styles correctement dans la page web.

YSLOW : composant compressé
(Ecrit le 20/09/2008 - 3.415 lectures)
Règle quatre pour optimiser les temps de réponse du serveur : compresser les composants de la page coté serveur.

Yslow : les pages dynamiques ou statiques sont persitantes
(Ecrit le 12/09/2008 - 3.030 lectures)
Règle numéro trois pour optimiser les temps de réponse du serveur : rendre persistantes ses pages web, qu'elles soient statiques ou dynamiques.

YSLOW : Réduire le nombre de requêtes
(Ecrit le 31/08/2008 - 4.458 lectures)
Règle numéro un pour optimiser les temps de réponse du serveur : minimiser le nombre de requêtes.

Améliorer la vitesse d'un site coté serveur
(Ecrit le 30/08/2008 - 4.082 lectures)
Après avoir optimisé le code des pages coté client, il reste à voir ce que l'on peut faire coté serveur, Yslow nous aide en ce sens

GoogleEarth kml et flux rss
(Ecrit le 20/06/2008 - 4.139 lectures)
Les flux rss permettant de lire de diffuser le contenu d'une page web sur un site, peuvent être utilisés pour lire un fichier Google Earth dont le contenu évolue.

Annuaire thématique cartographié
(Ecrit le 05/12/2007 - 10.797 lectures)
Carte des sites web de l'annuaire thématique avec géolocalisation et plan des villes.

Adapter son site à la résolution d'écran
(Ecrit le 23/11/2007 - 15.754 lectures)
Comment rendre son site lisible en 800 x 600 comme dans les grandes résolutions avec utilisation des balises div

Intégrer l'API Google Maps
(Ecrit le 18/01/2006 - 81.483 lectures)
Présentation des éléments permettant de réaliser une intégration de l'API GoogleMaps sur un site web.

Software 2.0 - Programmation en Java
(Ecrit le 04/04/2005 - 7.902 lectures)
Le sujet principal de Software 2.0 4/2005 (6) : Programmation en Java



Tutoriels Webmaster

Scripts :

Internet a deux caractéristiques principales : Cela bouge beaucoup et cela bouge vite. Le webmaster se doit d'être actif, voire réactif, et de disposer de l'information rapidement. Un simple script en python peut l'aider.


Scripts :

Comment contrôler visuellement que l'affichage de différentes pages web se fait correctement avec les différentes configurations de navigateur, et résolution d'affichage. Le Webdriver de Sélénium permet via un script d'automatiser la captures de telles pages, pour contrôler en un coup d'oeil le résultat.


Conception :

Optimiser un site web avec du responsive design est un pas de plus fait vers l'utilisateur final
Pour autant, si une page du site a un poids de plusieurs méga, l'utilisateur risque, si il est sur un téléphone mobile, de partir avant que la page ne soit complétement chargée.


Outils :

Comment gérer les erreurs 404 not found sur le fichier browserconfig.xml, alors que celui ci est demandé par le navigateur.


Scripts :

Les feuilles de style d'un site web permettent d'adapter l'affichage à la taille de l'écran. Voyons comment faire pour un site qui s'affiche aussi bien sur un ordinateur, une tablette qu'un téléphone intelligent (smartphone).


Scripts :

L'attribut Placeholder, permettant en HTML5 de renseigner le label d'un champs input, ne fonctionne pas sous Internet Explorer. Voici un script JavaScript simple et efficace à insérer pour contourner ce manque de fonctionnalité.


Sécurité :

Poster un spam sur un forum est pour certains acteurs du web un exercice amusant. Pour d'autres c'est un moment de réflexion obligatoire pour éviter de se faire spammer.
Voyons quelles sont les solutions pour éliminer les posts des spameurs tout en gardant ceux des internautes.


Qualité :

Si il est préférable de faire un tweet lisible, voyons comment faire pour le générer de manière automatique à partir d'un article.


Pages webmaster Ajoutez à votre page Google

Projet Web NTIC


Annuaire


Thèmes Phortail