Tag: api
Liste des APIs de Google
by Rom's on 19 oct 2010, under Développement Web
La liste complète et à jour des APIs de Google se trouve ici :
PHP : Distance en KM grâce à Google Maps API Directions
by Rom's on 21 août 2010, under Développement Web
Petite fonction pour calculer la distance entre un point A et un point B grâce à l’API de Google Maps qui a été récemment ouverte pour les itinéraires (Google Maps API Directions).
Vous pouvez ainsi récupérer la distance d’un trajet, sa durée (temps de trajet), les étapes et l’adresse convertie de départ et d’arrivée (permet de récupérer une adresse postale par rapport à des coordonnées)
Vous avez ainsi la distance réelle en kilomètres par la route et non à vol d’oiseau !
function getDistance($adresse1,$adresse2) {
$url='http://maps.google.com/maps/api/directions/xml?language=fr&origin='.$adresse1.'&destination='.$adresse2.'&sensor=false';
$xml=file_get_contents($url);
$root = simplexml_load_string($xml);
$distance=$root->route->leg->distance->value;
$duree=$root->route->leg->duration->value;
$etapes=$root->route->leg->step;
return array(
'distanceEnMetres'=>$distance,
'dureeEnSecondes'=>$duree,
'etapes'=>$etapes,
'adresseDepart'=>$root->route->leg->start_address,
'adresseArrivee'=>$root->route->leg->end_address
);
}
Le guide from Google est par là : http://code.google.com/intl/fr-FR/apis/maps/documentation/directions/
ATTENTION : GOOGLE ACCEPTE UN NOMBRE LIMITE DE REQUETES (sous peine d’un status : OVER_QUERY_LIMIT). Si vous souhaitez récupérer plusieurs résultats à la suite, Il faut donc soit temporiser les requêtes et en faire une toutes les 100ms (100 millisecondes soit 100000 microsecondes, source : un script exemple de google utilise ce délai), soit suivre une méthode que je vous proposer bientôt ici même (mise en cache). Il est important de le faire dès le départ, j’en ai fait l’amère expérience, mon IP personnelle est blacklistée de façon permanente apparemment.. (suite à deux fois une dizaine de requêtes simultanées, il ne faut pas grand chose…)
Itinéraire et Distance via HTTP (PHP par ex) : l’API de Google Maps a évolué !
by Rom's on 20 mai 2010, under Architecture, Développement Web, DSI
L’exemple en PHP est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions
Il était amusant de voir que cette fonctionnalité était possible mais qu’elle était juste refusée au niveau de la requête par Google : si vous lisiez via le navigateur le flux JSON, vous y voyiez des informations intéressantes telles que la distance et l’itinéraire pour aller d’un point A à un point B, qu’on aurait tout à fait pu parser. Mais Google le refusait.
Cette annonce n’a l’air de rien : http://googlegeodevelopers.blogspot.com/2010/05/directions-web-service-arrives-at.html mais c’est une révolution pour ceux qui souhaitent intégrer des calculs de distance, ou faire des PDF avec des itinéraires ou ce genre de choses.
Concrètement, le flux que vous recevez ressemble à ceci :
{
« status »: « OK »,
« routes »: [ {
« summary »: « Massachusetts Ave, Massachusetts 2A W et Lexington Rd »,
« legs »: [ {
« steps »: [ {
« travel_mode »: « DRIVING »,
« start_location »: {
« lat »: 42.3585300,
« lng »: -71.0600700
},
« end_location »: {
« lat »: 42.3580200,
« lng »: -71.0604300
},
« polyline »: {
« points »: « ycpaGl|upLdBfA »,
« levels »: « BB »
},
« duration »: {
« value »: 4,
« text »: « 1 minute »
},
(…)
Source : https://mail.google.com/mail/?hl=fr&shva=1#inbox/128b3a8d28ec3fd6
Autres API qui viennent de sortir : http://www.zorgloob.com/2010-05/google-fait-le-plein-dapi/
Le script PHP permettant de calculer l’itinéraire est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions
Librairies Ajax à récupérer chez Google
by Rom's on 23 jan 2009, under Développement Web
Saviez-vous qu’en chargeant une page, les éléments de différents (sous-)domaines peuvent se charger simultanément ? Concrètement, si vous avez un script sur le « www. » et des images sur le « images. », les téléchargements commenceront en même temps alors que s’ils sont tous les deux sur le « www. », ils seront consécutifs et téléchargés dans l’ordre.
Donc on a tout intérêt à diversifier les téléchargements et faire télécharger un script JS particulièrement lourd comme JQuery directement sur le serveur de Google, ça peut avoir un sacré nombre d’avantages :
- décharger votre serveur
- temps de téléchargement réduit
- capacité de mettre facilement à jour les librairies en changeant un simple paramètre
A savoir que vous avez la possibilité d’appeler ces librairies en HTTPS, ce qui vous permet de les utiliser sur des pages sécurisées.
Un seul lien, ici : http://code.google.com/intl/fr/apis/ajaxlibs/