02 juil
Par Clément dans Tutoriels
Mots-clefs :Chrome, Firefox, Géolocalisation, Google Gears, HTML, Internet Explorer, Javascript, jQuery, Safari

Hier je vous parlais de la géolocalisation avec le nouveau Firefox 3.5 . Mais je me demandais si on pouvais aussi utiliser cette localisation avec Internet Explorer, Safari ou même Chrome comme sur Flickr Mobile. Je suis donc tombé sur Google Gears qui est utilisé dans la version 3.5 de Firefox pour localiser les visiteurs. On va donc reprendre notre exemple de la dernière fois mais cette fois-ci nous allons utiliser Google Gears (qui à l’avantage d’être compatible avec les autres navigateurs). Le principe est le même sauf qu’au lieu de vous montrer une fenêtre de type Firefox, il vous affichera un message de Google Gears.
Comme la dernière fois, il nous faut un fichier HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Géolocalisation par Dator.fr <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=VOTRECLEAPI" type="text/javascript"></script> <script type="text/javascript" src="gears.js"></script> </head> <body> <h1>Géolocalisation depuis Google Gears par Dator</h1> <button class="locateMe">Localise moi !</button> <div id="map" style="width:500px; height:500px;"></div> </body> </html>
Comme vous pouvez le voir, nous avons inclut la base javascript de Google Gears que vous trouverez à cette adresse. Et pour finir il nous faut notre fichier locate.js :
var dator_gears = {
initialize: function() {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.41, -122.08), 1);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
},
handleLocate: function(a) {
var zoomLevel = 14;
if (a.accuracy > 500)
zoomLevel = 10;
map.setCenter(new GLatLng(a.latitude, a.longitude), zoomLevel);
},
handleError: function(a) {
},
locateMeOnMap: function() {
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(this.handleLocate, this.handleError);
}
}
$(function(){
dator_gears.initialize();
$('.locateMe').click(function(){
dator_gears.locateMeOnMap();
});
});
Vous pouvez tester le résultat ici(ne fonctionne pas avec Firefox 3.5) . Les résultats sont identiques si on compare la version uniquement pour Firefox 3.5 que pour celle-ci.
« Utiliser la géolocalisation de Firefox 3.5 avec Google Map | Tutorial : Créer une application avec le Zend Framework – #2 Préparation de la base de données »
Aucun trackback
11 commentaires
Florent
2 juillet 2009 à 9:07
1Je ne vois pas trop à quoi cela sert d’utiliser ce scripts sinon pour signalé et donner un clic un plus à faire à vos visiteurs.
La géo-localisation par Google existe de plusieurs manières et de façon tout à faire transparente pour eux.
voilà un code d’exemple :
geo = new GClientGeocoder();
geo.setCache(false);
geo.getLatLng(’4 Rue des Frères Lumière 21300 DIJON’, function(result) {
document.getElementById(» latitude» ).value = « » +result.x+» ";
document.getElementById(» longitude» ).value = « » +result.y+» ";
});
sylvek
2 juillet 2009 à 9:26
2j’ai pas compris le commentaire.. géolocaliser par adresse ou par position réelle n’est évidement pas la même chose.
j’ai eu l’occasion d’utiliser Google Gears ET la géoloc via HTML5 dans le même code javascript. Il est très facile d’allier les deux car les objets javascript sont les mêmes. Une astuce.. utiliser un timeout sur getCurrentPosition car chaque mécanisme (Google Gears, HTML5..) utilise un procédé qui lui est propre pour récupérer la longitude/latittude et parfois la position est obsolète.
Aurao
2 juillet 2009 à 12:00
3Il ne se passe rien chez moi quand je clique sur le « localisez-moi» …
Je suis sous Safari 4.
Clément
2 juillet 2009 à 12:48
4@Aurao: As-tu déjà installer Google Gears ? Car sinon cela ne fonctionnera pas
Quentin Zone
2 juillet 2009 à 15:01
5Merci !
Florent
6 juillet 2009 à 8:17
6@Aurao: Voilà, je me demande pourquoi j’installerais un ce script de localisation. Pour lmoi il ne sert à rien sinon faire voir que FireFox est capable de la faire. Mais pour un blog ou un site, cela n’est nullement très utile. Si je veux savoir en temps réél les visiteur de mon site alors je prends leur IP et je les localise.
Bref, la demo ne me dit pas vraiment ou je suis exactement et n’a même pas un marqueur pour me le dire.
Sous FF3.5, Google Gears ne passe plus.. enfin sur mes 2 postes.
Bizzbooster - Géolocalisation
6 juillet 2009 à 18:30
7merci pour l’info
croky
10 juillet 2009 à 9:34
8Exemple ici avec un cercle qui définit la marge d’erreur : http://croky.e3b.org/geolocation
Clément
10 juillet 2009 à 10:01
9@croky: Excellent ! Merci pour le partage ! Il me situe pile poil
Mat_
29 juillet 2009 à 13:45
10Ca a l’air de fontionner pour moi sous FF3.5
toupil
7 août 2009 à 9:44
11j’utilise la géolocalisation de firefox sur mon site web de petites annonces « toupil.fr» afin de localiser les visiteurs et leur proposer uniquement les annonces qui les concernent.
c’est très pratique … quand cela fonctionne.
en attendant plus de fiabilité, je propose toujours d’indiquer la localisation à la main.
j’attends les retours de mes visiteurs pour voir la proportion de géolocalisation ratée de firefox
Laisser un commentaire
Devenir Fan de Dator.fr
Nuage de tags
Sponsors
Blogoliste
Blogs Amis
Derniers Posts
Derniers Commentaires
Les meilleurs sujets
Propulsé par WordPress