Problème avec la géolocalisation
Meriiemm
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Meriiemm Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Meriiemm Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en début de mon stage et j'en-face déjà des problèmes.
L'une des tâches que je devrais effectuer est la récupération des coordonnées géographiques de l'utilisateur. Seulement la fenêtre d'autoriser ou refuser ne s'affiche pas, directement je me trouve devant une erreur de type Permission-denied (comme si c'est moi que j'ai refusé de partager ma position ).
Vos réponses sont les bienvenues et merci.
Ceci est mon code:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html, body{
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}
#googleMap {
width: 100%;
height: 100%;
}
button {
position: fixed;
top: 10px;
left: 10px;
z-index:10;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"> </script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script>
<script type="text/javascript">
var googleMap;
var oldLat = null;
var oldLng = null;
$(function() {
if(navigator.geolocation) {
//initialise la map
googleMap = new google.maps.Map($("#googleMap").get(0), {
zoom: 17,
center: new google.maps.LatLng(48.9021450, 2.46992090),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
startLocalisation();
} else {
alert('Votre navigateur ne supporte pas la géolocalisation HTML5');
}
});
function startLocalisation() {
//active le GPS
var userPosition = navigator.geolocation.watchPosition(callbackSuccess, callbackError, {enableHighAccuracy: true});
}
function callbackSuccess(position) {
//récupère la latitude et la longitude
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
//trace un marqueur
var marker = new google.maps.Marker({
position: new google.maps.LatLng(latitude, longitude),
map: googleMap
});
//centre la map aux coordonnées voulue
googleMap.panTo(new google.maps.LatLng(latitude, longitude));
//trace une ligne entre lancienne position et la nouvelle
if(oldLat) {
var lines = [
new google.maps.LatLng(oldLat, oldLng),
new google.maps.LatLng(latitude, longitude)
];
//dessine les lignes
var line = new google.maps.Polyline({
path: lines,
strokeColor: "red",
strokeOpacity: 1.0,
strokeWeight: 3,
map: googleMap
});
}
//actualise les anciennes positions
oldLat = latitude;
oldLng = longitude;
}
function callbackError(error) {
switch(error.code) {
case error.UNKNOWN_ERROR:
alert("La géolocalisation a rencontré une erreur.");
break;
case error.PERMISSION_DENIED:
alert("L'utilisateur n'a pas voulu donner sa position.");
break;
case error.POSITION_UNAVAILABLE:
alert("Les coordonnées de l'utilisateur n'ont pas pu être trouvées.");
break;
case error.TIMEOUT:
alert("La géolocalisation prend trop de temps.");
break;
}
}
function stopGeolocalisation(){
navigator.geolocation.clearWatch(userPosition);
}
</script>
</head>
<body>
<div id="googleMap"></div>
<button onclick="stopGeolocalisation();">Arrêter la géolocalisation</button>
</body>
</html>
Je suis en début de mon stage et j'en-face déjà des problèmes.
L'une des tâches que je devrais effectuer est la récupération des coordonnées géographiques de l'utilisateur. Seulement la fenêtre d'autoriser ou refuser ne s'affiche pas, directement je me trouve devant une erreur de type Permission-denied (comme si c'est moi que j'ai refusé de partager ma position ).
Vos réponses sont les bienvenues et merci.
Ceci est mon code:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html, body{
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}
#googleMap {
width: 100%;
height: 100%;
}
button {
position: fixed;
top: 10px;
left: 10px;
z-index:10;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"> </script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script>
<script type="text/javascript">
var googleMap;
var oldLat = null;
var oldLng = null;
$(function() {
if(navigator.geolocation) {
//initialise la map
googleMap = new google.maps.Map($("#googleMap").get(0), {
zoom: 17,
center: new google.maps.LatLng(48.9021450, 2.46992090),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
startLocalisation();
} else {
alert('Votre navigateur ne supporte pas la géolocalisation HTML5');
}
});
function startLocalisation() {
//active le GPS
var userPosition = navigator.geolocation.watchPosition(callbackSuccess, callbackError, {enableHighAccuracy: true});
}
function callbackSuccess(position) {
//récupère la latitude et la longitude
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
//trace un marqueur
var marker = new google.maps.Marker({
position: new google.maps.LatLng(latitude, longitude),
map: googleMap
});
//centre la map aux coordonnées voulue
googleMap.panTo(new google.maps.LatLng(latitude, longitude));
//trace une ligne entre lancienne position et la nouvelle
if(oldLat) {
var lines = [
new google.maps.LatLng(oldLat, oldLng),
new google.maps.LatLng(latitude, longitude)
];
//dessine les lignes
var line = new google.maps.Polyline({
path: lines,
strokeColor: "red",
strokeOpacity: 1.0,
strokeWeight: 3,
map: googleMap
});
}
//actualise les anciennes positions
oldLat = latitude;
oldLng = longitude;
}
function callbackError(error) {
switch(error.code) {
case error.UNKNOWN_ERROR:
alert("La géolocalisation a rencontré une erreur.");
break;
case error.PERMISSION_DENIED:
alert("L'utilisateur n'a pas voulu donner sa position.");
break;
case error.POSITION_UNAVAILABLE:
alert("Les coordonnées de l'utilisateur n'ont pas pu être trouvées.");
break;
case error.TIMEOUT:
alert("La géolocalisation prend trop de temps.");
break;
}
}
function stopGeolocalisation(){
navigator.geolocation.clearWatch(userPosition);
}
</script>
</head>
<body>
<div id="googleMap"></div>
<button onclick="stopGeolocalisation();">Arrêter la géolocalisation</button>
</body>
</html>
A voir également:
- Problème avec la géolocalisation
- Géolocalisation - Guide
- Geolocalisation whatsapp - Guide
- Géolocalisation gps - Guide
- Cette option méconnue de Google Maps améliore la localisation quand on perd le signal GPS - Guide
- Géolocalisation de ma position - Guide
1 réponse
slt
Ton script marche très bien sur Chrome et IE11, j'ai la confirmation pour autoriser la localisation, il me localise sur le mans, même si je suis à 30km, logique.
Sur mon Smartphone, avec Chrome également il me localise bien au bon endroit et me demande aussi l'autorisation.
Donc, je dirais que c'est ton navigateur qui pose problème.
Essaye de vider le cache.
Signature
Ton script marche très bien sur Chrome et IE11, j'ai la confirmation pour autoriser la localisation, il me localise sur le mans, même si je suis à 30km, logique.
Sur mon Smartphone, avec Chrome également il me localise bien au bon endroit et me demande aussi l'autorisation.
Donc, je dirais que c'est ton navigateur qui pose problème.
Essaye de vider le cache.
Signature
Meriiemm
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
J'ai essayé de vider le cache mais le problème persiste par contre en essayant avec Mozilla ça a bien marché