Bonjour � tous,

Je r�alise une appli web en HTML5 et je rencontre quelques difficult�s avec l'API de g�olocalisation Javascript. Elle fonctionne tr�s bien dans les cas suivants :
- Sur PC avec Chrome, Opera et Safari (pas test� avec IE)
- Sur mobile Windows phone avec IE
- Sur mobile Android avec Opera (pas test� sur un Iphone)

Par contre elle ne fonctionne pas avec Firefox sur PC et surtout avec le navigateur par d�faut sur Android.

Voici mon code (standard pour l'API de g�oloc) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<body>
 
Nous devons récupérer votre position.
 
<script type="text/javascript">
// On tente de récupérer la position GPS
 
document.write("Tentative de récupération de vos données");
 
if(navigator.geolocation){
	document.write("La géolocalisation est supportée");
	// La géolocalisation est supportée, on récupère la position
	navigator.geolocation.getCurrentPosition(successCallback, errorCallback,
  {
    enableHighAccuracy : true,
    timeout : 10000, // 10s
    maximumAge : 0
  }
);
 
	// La fonction de réussite affiche le lien vers la page de choix des bars et transmet les coordonnées contenues dans "position"
	function successCallback(position){
		document.write("Vous avez bien été localisé. Latitude :" + position.coords.latitude +", longitude : " + position.coords.longitude);		
	};
 
	// La fonction d'échec teste l'erreur contenue dans "error"
	function errorCallback(error){
		document.write("Ca n'a pas marché");
		//Un message d'erreur est affiché selon le type d'erreur
		switch(error.code){
		case error.PERMISSION_DENIED:
			document.write("Vous n'avez pas autorisé l'accès à votre position");
			break;
		case error.POSITION_UNAVAILABLE:
			document.write("Votre emplacement n'a pas pu être déterminé");
			break;
		case error.TIMEOUT:
			document.write("Le service n'a pas répondu à temps");
			break;
		case error.UNKNOW_ERROR:
			document.write("Une erreur inconnue s'est produite");
			break;				
		}
	}
 
}
else{
	document.write("La géolocalisation n'est pas supportée par le navigateur");	
}
 
 
 
 
 
</script>
 
</body>
Ce qu'il se passe sur Android avec le navigateur par d�faut :
1. Les messages suivant apparaissent :
"Tentative de r�cup�ration de vos donn�es"
"La g�olocalisation est support�e"
2. Au bout du temps indiqu� par le timeout (ici 10s) la page devient toute blanche.
Il n'y a donc aucune des deux fonctions sucessCallback ou errorCallback qui n'est appel�e.

J'ai ensuite essay� en passant par une Webview dans une application native Android mais ca donne la m�me chose.


J'ai un Galaxy S LC (�quivalent du S1).

J'ai pas mal recherch� sur les espaces d'aide anglophones et plusieurs personnes ont rencontr� ce probl�me en 2010/2011 sans avoir trouv� de solutions. Je suis assez �tonn� qu'il n'y ai pas plus de doc � ce sujet �tant donn� que la geoloc sur mobile est une fonction assez importante.

Merci beaucoup pour votre aide.