mardi 29 janvier 2008

Un client de geolocalisation en cinq lignes de PHP avec l'API Google Maps

Google propose des choses vraiment intéressantes au travers de ses API, comme par exemple son méconnu (car planqué dans la doc) webservice HTTP de géolocalisation. L'idée ici est de récupérer la lattitude et la longitude d'un endroit géographique à partir de sa description, par exemple Paris, France ou encore 3 allée des allouettes, 35000 Rennes, France.

Il vous faut posséder au préalable une clé d'API Google, que vous pouvez obtenir gratuitement par là.

<?php
define('GOOGLE_API_KEY', 'your_google_api_key_here');
$wsurl = 'http://maps.google.com/maps/geo?q=%s&output=csv&key=%s';
$location = 'Paris, France';
$data = explode(',', file_get_contents(sprintf($wsurl, urlencode($location), GOOGLE_API_KEY)));
$coord = 200 === (int)$data[0] ? array((float)$data[2], (float)$data[3]) : null;
var_dump($coord);

Ce qui nous donne :

array(2) {
  [0]=>
  float(48.856667)
  [1]=>
  float(2.350987)
}

On prendra soin de cacher autant que faire se peut les résultats renvoyés par le webservice, afin de soulager les serveurs de Google et accessoirement de pas fusiller le crédit-requête associé à sa clé d'API.

Disclaimer : Ce billet n'est pas un appel au troll, je me doute qu'on peut faire la même chose en 3 lignes de Ruby, 2 lignes de Python et -10 lignes de Fotran77. C'est juste pour dire que les services Google, ça déchire quand même un petit peu.

mardi 25 avril 2006

J'aime les brocolis

Désolé pour le titre, j'ai plus d'imagination pour titrer les billets en vrac...

PS : ça devient vraiment n'importe quoi ces billets. Promis, bientôt je me recentre.

dimanche 20 novembre 2005

Aïe, pas Frappr

Frappr est un service de géolocalisation communautaire que j'ai découvert chez Tristan, permettant de localiser sur une carte les membres d'une même communauté, comme celle des utilisateurs de Firefox.

Juste pour rigoler, j'ai ouvert un compte pour Prendre un café, j'aimerai bien que vous y déposiez vos trombines : Buveurs de café :)

mardi 28 juin 2005

Une extension Firefox de geolocalisation via Google Maps

Je vous avais déjà parlé de géolocalisation, et notamment de l'excellente extension Firefox réalisée par Patrick H. Lauke, GeoURL.

Cette dernière version, même si le site n'en parle pas encore, vient de sortir en version 0.3 et permet la geolocalisation d'un site web via notamment l'outil cartographique dans le buzz, Google Maps, ainsi que d'autres outils en ligne du même accabit (MultiMap, Flickr nearby et Mapquest) :)

Il suffit de spécifier dans les options du plugin que vous désirez utiliser les services de Google Maps plutôt que ceux de geourl.org (par défaut), et un click sur l'icône du plugin vous redirigera vers la carte correspondante. Hélas, dans le cas de GM ce n'est pas la vue satellite qui est affichée, mais la vue en carte routière... pour le moment non-renseignée pour la France :-/

Si comme moi vous voulez afficher la vue satellitaire en français et non pas la carte routière en anglais, il faut - une fois l'extension GeoURL proprement installée - tapez about:config dans la barre d'adresse de Firefox pour accéder aux variables utilisateurs. Localisez la valeur geourl.destinations.2.url et renseignez-y la valeur http://maps.google.com/?sll=[LAT],[LONG]&t=k&hl=fr&spn=0.05,0.05.

Enjoy 8-)

dimanche 26 juin 2005

Googlus-Betrand

À l'instar de Dew qui a pris les devants, voici quelques images satellites belles/intéressantes/insolites captées par Google Maps, un peu à la manière de Yann Arthus-Bertrand. Je pourrais passer des heures à me balader sur notre planète bleue, tel un Gulliver des temps modernes :)

Vite, profitons du bel outil et des agences de voyage virtuelles avant que la censure ne fasse peut-être son office ;)

samedi 25 juin 2005

Google Maps : au tour de la France

Terre Google Maps a ajouté la France à son tableau de chasse sattelitaire (ne souriez pas, c'est votre cuir chevelu qui est filmé).

  • J'habite ici (Ouaaaah, c'est somptueux).
  • Je travaille (Ouaiiiiis, ça donne trop envie).
  • Mes racines sont et .