mercredi 15 septembre 2010
Une autre nouvelle fonctionnalité qu'apporte le HTML 5, c'est le support pour la géolocalisation. Ce n'est pas aussi précis qu'un GPS, mais ça détecte généralement assez bien la ville où on se trouve.
Pour vérifier si le navigateur supporte la géolocalisation, on peut effectuer un test à l'aide du bout de code JavaScript ci-dessous :
if(navigator.geolocation){Au moment d'appeler getCurrentPosition, le browser demandera une autorisation pour partager cette information (Firefox, Chrome et Opera).
alert('Activé');
navigator.geolocation.getCurrentPosition(
function(position){
alert(position.coords.latitude);
alert(position.coords.longitude);
}
);
}
Du côté de Safari pour Windows, il me demande bien l'autorisation mais n'a pas été en mesure de me retourner les coordonnées dans le popup.
Sinon, j'obtiens une latitude de 45.514516 et une longitude de -73.611056.
Saisies dans Google (45.514516, -73.611056), les coordonnées pointent à Outremont, ce qui n'est pas tout à fait exact. En fait, ça devrait possiblement correspondre à un endroit où mon fournisseur d'accès Internet possède des serveurs.
En obtenant les coordonnées aussi simplement, ça devient facile d'intégrer une carte Google Maps ou Bing Maps à l'emplacement approximatif où se trouve le visiteur.
Pour plus de détails : Geolocation API Specification sur W3C.
C'est prometteur, comme technologie, et très simple à mettre en place. Par contre, la géolocalisation par IP laisse encore à désirer (au moins pour la France) : l'API me place à plus de 100km de chez moi.
Dans ton cas, c'est assez exceptionnel. Moi il me positionne à 7 km de chez moi.