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   -
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>

1 réponse

astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
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
0
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é
0