M LAB

Blog dédié aux technologies web

17
06
2011

HTML5, Géolocalisation et QR Codes

  • Geolocalisation
  • Google APIs
  • HTML5
  • QR Code
  • Tutoriel

Une des nouveautés du HTML5 est l’intégration dans les navigateurs de la géolocalisation. Dans ce rapide tutoriel, nous allons voir comment tirer parti de cette fonctionnalité pour créer des QR Codes qui contiendront non pas simplement les coordonnées GPS d’un lieu sur la carte mais l’itinéraire pour aller de l’emplacement actuel de l’utilisateur vers un lieu donné.

A noter bien évidemment que cet exemple ne fonctionnera que sur les navigateurs supportant le HTML5:

browsers that support geolocation

La geolocalisation est intégrée sous la forme d’une extension de l’objet navigator.geolocation, et vient avec son lot de méthodes particulièrement utiles comme par exemple getCurrentPosition(), qui renvoie un objet de type ‘position’. L’appel à cette fonction se fait de la manière suivante :

if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition( function (position) {

// traitement si la position a pu être déterminée

},
function (error){

//Gestion d'erreur

}
);
}
else
alert("Votre navigateur ne gère pas la géolocalisation");

Pour des raisons de sécurité assez évidentes, l’accès aux coordonnées GPS est protégé au niveau du navigateur , et ce dernier devra explicitement accepter que la page web accède à ces informations:

Chrome asks if the web page can access geolocation data
A partir de là, nous disposons de la latitude et longitude de l’utilisateur et il ne reste plus qu’à construire une URL destinée à l’API de Google maps. Nous n’utiliserons ici que le strict minimum de paramètres, à savoir « saddr » (adresse de départ ) et « daddr » (adresse d’arrivée). Nous choisirons dans cet exemple comme destination la Place du Palais, à Bordeaux (au hasard):

if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition( function (position) {

destination = "Place du Palais, Bordeaux";

googleDirectionsURL = "http://maps.google.com/?saddr=" + position.coords.latitude + "," + position.coords.longitude + "&daddr="+escape(destination);

window.location.href = googleDirectionsURL;

},
function (error)
{
switch(error.code)
{
case error.TIMEOUT:
alert ('Délai d\'attente dépassé.');
break;
case error.POSITION_UNAVAILABLE:
alert ('Impossible de déterminer votre position');
break;
case error.PERMISSION_DENIED:
alert ('Authorisation requise');
break;
case error.UNKNOWN_ERROR:
alert ('Erreur inconnue');
break;
}
}
);
}
else
alert("Votre navigateur ne gère pas la géolocalisation.");

Nous disposons maintenant d’une page web qui affiche sur Google maps l’itinéraire depuis l’emplacement actuel de l’utilisateur vers la place du Palais à Bordeaux.

On termine en générant un QR code pointant vers cette page (dans notre exemple, la page créée ci dessus sera hébergée sur http://mlab.moonda.com/sandbox/geoloc.html) en utilisant l’API de Google Charts :

<img src="http://chart.apis.google.com/chart?chs=400x400&amp;amp;amp;amp;cht=qr&amp;amp;amp;amp;chl=http://mlab.moonda.com/sandbox/geoloc.html" alt="Smart QR Code" />

Et voilà un magnifique QRCode à apposer sur une carte de visite ou un flyer afin que l’utilisateur doté d’un Scanner de QR code puisse être dispensé de la fastidieuse étape consistant à saisir sur un clavier minuscule les lieux de départ et d’arrivée pour trouver son itinéraire:

A noter que sous la plupart des smartphones, ouvrir Google maps dans un navigateur poussera le téléphone à Basculer vers l’Application « Maps »:

Smart QR code


Posté par Norman

Billets en rapport

  • Créer une application avec l’API Twitter –…
  • eZPublish : Filtres, Alias d’images, Thumbnails,…
  • Les newsletters Responsive Design, c’est faisable!
  • Les API cartographiques pour Flash / Flex
  • Viewport et navigateur mobile

Commentaires

  1. danny, le 19 octobre, 2011 à 15:40

    Merci pour ton article.

    Pour info sur Iphone 4 (Safari) la page se fige sans redirection vers Google Map…

    Android ne charge l’appli Maps, mais la version mobile de Google Maps

  2. comparer, le 28 janvier, 2012 à 01:36

    Merci pour cet article. Il existe des sites pour créer son QR code pour rediriger vers un site, un numéro de téléphone ou un SMS. Le QR code nous facilite grandement la vie dans le monde numérique.
    Maxime

  3. Adrien, le 1 février, 2012 à 08:40

    Par rapport à la Géolocalisation et la création d’un Code 2D,

    J’ai découvert ce lien :

    http://codactiv.com/generateur-qr-code.html

    Ce site gratuit propose la création d’un « QR Code », la géolocalisation, mais aussi de connaître toutes les statistiques directement en ligne.

  4. unserikinaist, le 12 décembre, 2012 à 00:42

    generic levitra – levitra online , http://genericlevitraonlinedirectly.com/#mfpxj cheap generic levitra

  5. EssectAddidge, le 16 décembre, 2012 à 17:05

    viagra without prescription – generic viagra , http://ordergenericviagradirectly.com/#ruesi order viagra

  6. Saryeffenue, le 20 décembre, 2012 à 19:49

    dick suckers – dick suckers , http://alternatefuel.ru/#bavbo dick in the ass

Laissez un commentaire

 

A propos

Bienvenue sur MLab, un blog dédié aux technologies web, à l'Open Source, au DIY, au café, et à d'autres geekeries en tout genre.

  • Abonnez-vous
    au flux RSS
  • Rejoignez-nous
    sur Facebook

Catégories

  • Actionscript
  • Api
  • Eclipse
  • eZPublish
  • Flash
  • Flex
  • Geolocalisation
  • Google APIs
  • graphisme
  • HTML5
  • ImageMagick
  • Javascript
  • jQuery
  • Media Server
  • MySQL
  • Newsletter
  • PHP
  • QR Code
  • Red5
  • Responsive Design
  • Symfony
  • Tutoriel
  • Twitter

Recherche

Liens

  • Culture Cross Media
  • Culture Evénement
  • Marques et Réseaux
  • MOONDA

Derniers articles :

  • Recherche Développeurs Web
  • Les API cartographiques pour Flash / Flex
  • Adobe Photoshop CS6 (beta) – LE TEST de Jérôme E. (graphiste)
  • Viewport et navigateur mobile
  • eZPublish : Filtres, Alias d’images, Thumbnails, Watermarks etc…

Catégories :

  • Actionscript
  • Api
  • Eclipse
  • eZPublish
  • Flash
  • Flex
  • Geolocalisation
  • Google APIs
  • graphisme
  • HTML5
  • ImageMagick
  • Javascript
  • jQuery
  • Media Server
  • MySQL
  • Newsletter
  • PHP
  • QR Code
  • Red5
  • Responsive Design
  • Symfony
  • Tutoriel
  • Twitter

Mots-clefs

alias api application connexion curl ezpublish imagemagick mobile navigateurs php thumbnails tutoriel twitter viewport