07 sep 2008


Introduction


L'API Google Maps possède des fonctions de géocodage à l'adresse qui permettent d'obtenir la longitude et la latitude à partir d'une adresse.
Nous allons voir dans ce tutoriel comment utiliser cette fonctionnalité et comment ajouter un champ de saisie sur la carte.

Initialisation


Reprendre la carte du tutoriel n°2.

Géocodage


Définir la fonction showAddress qui géocode l'adresse saisie et créé un marqueur cliquable :

function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(address,function(point) {
if (!point) {
alert(address + " not found");
}
else {
map.setCenter(point);
var marker = new GMarker(point);
map.addOverlay(marker);
var html = '';
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
}
});
}
}

Définir un géocodeur grâce à la classe GClientGeocoder :

geocoder = new GClientGeocoder();

Définir un container qui appelle le formulaire de saisie :

var address = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(60, 10));
address.apply(document.getElementById("address"));
map.getContainer().appendChild(document.getElementById("address"));

Et éditer le formulaire en HTML :

   



Code complet






<br /> [Google Maps] 11. Géocoder une adresse<br />


   





Démonstration