![firefox-locate firefox-locate](http://www.dator.fr/wp-content/uploads/2009/07/firefox-locate.jpg)
La version de Firefox 3.5 est sortie hier dans l’après-midi. Au programme des nouveautés, la possibilité de localiser ses visiteurs simplement.
Explication
La localisation de Firefox 3.5 est faite de manière très simple. C’est à dire qu’avec une seule fonction vous pouvez localiser vos visiteurs. Avant de se faire localiser vous devez accepter le fait d’être localiser, ce qui n’est pas plus mal.
Une fois accepté, Firefox rassemblera les informations sur les points d’accès sans fil alentour et l’adresse IP de votre ordinateur. Alors, Firefox enverra ces informations au fournisseur de service de géolocalisation par défaut, Google Location Services, pour faire une estimation de votre localisation. Cela permettra de récupérer les coordonnées de votre position.
Utilisation
Dans cette exemple, nous allons créer une page HTML qui va localiser le visiteur et le positionner sur une carte Google Map.
Le HTML
view sourceprint?01.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
02.
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
03.
<
head
>
04.
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
05.
<
title
>Géolocalisation par Dator.fr
06.
<
script
type
=
"text/javascript"
src
=
"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
>
07.
<
script
src
=
"http://maps.google.com/maps?file=api&;v=2&sensor=false&key=VOTRE_KEY"
type
=
"text/javascript"
>
08.
<
script
type
=
"text/javascript"
src
=
"locate.js"
>
09.
</
head
>
10.
<
body
>
11.
<
h1
>Géolocalisation depuis Firefox par Dator</
h1
>
12.
<
button
class
=
"locateMe"
>Localise moi !</
button
>
13.
<
div
id
=
"map"
style
=
"width:500px; height:500px;"
/>
14.
15.
</
body
>
16.
</
html
>
Cette page est vraiment basique, il y a une div pour la carte et un bouton qui va servir à localiser la personne quand celle-ci cliquera sur le bouton.
Le fichier Javascript locate.js :
view sourceprint?01.
var
map =
null
;
02.
var
dator_locate = {
03.
initialize:
function
() {
// initialisation
04.
map =
new
GMap2(document.getElementById(
"map"
));
// on créer une carte
05.
map.setCenter(
new
GLatLng(37.41, -122.08), 1);
06.
map.addControl(
new
GSmallMapControl());
07.
map.addControl(
new
GMapTypeControl());
08.
},
09.
// Fonction en cas de réussite
10.
handleLocate:
function
(a) {
11.
12.
var
zoomLevel = 14;
// on ajuste le zoom.
13.
if
(a.coords.accuracy > 500)
14.
zoomLevel = 10;
15.
16.
// on centre la carte à partir du résultat de la localisation.
17.
map.setCenter(
new
GLatLng(a.coords.latitude, a.coords.longitude), zoomLevel);
18.
},
19.
// Fonction en cas d'erreur.
20.
handleError:
function
(a) {
21.
},
22.
23.
locateMeOnMap:
function
() {
24.
// Localisation lancée
25.
navigator.geolocation.getCurrentPosition(
this
.handleLocate,
this
.handleError);
26.
}
27.
28.
}
29.
$(
function
(){
30.
dator_locate.initialize();
31.
$(
'.locateMe'
).click(
function
(){
32.
dator_locate.locateMeOnMap();
// on clique sur le bouton et on lance la localisation
33.
});
34.
});
Ici on vient de créer une classe en javascript qui va permettre de localiser et mettre en forme le résultat sur une google map.
La méthode qui permet de localiser un visiteur est navigator.geolocation.getCurrentPosition et prend deux fonctions en paramètres, une si la localisation réussi, et l’autre si elle échoue.
Conclusion et Tests
Cette méthode de localisation de Firefox n’est pas forcément fiable à 100% mais elle à marché pour moi ( Localisé à Lyon).
Vous pouvez le tester à cette adresse.
Le site officiel.
LES COMMENTAIRES (1)
posté le 07 août à 09:56
j'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 :)