2011-06-07 9 views
6

Estoy tratando de usar la geolocalización html5 en Iphone, pero siempre devuelve un error.Iphone HTML5 Geolocalización siempre devuelve un error

var win = function(position) { alert('Everything is fine! ' + position) };
var fail = function(e) { alert('Can\'t retrieve position.\nError: ' + e) };
navigator.geolocation.getCurrentPosition(win, fail);

Estoy probando en IOS Simulator y mi dispositivo, pero no funciona. En Safari, puedo obtener mi posición utilizando una conexión inalámbrica a Internet (??).

¿Hay alguna forma de que esto funcione?

+0

se hicieron hacer que esto funcione? – Zubair

Respuesta

15

Asegúrate de que tus Servicios de ubicación en el dispositivo estén encendidos para Safari. Vaya a Configuración> Privacidad> Servicios de ubicación> Safari y asegúrese de que esté configurado en ON.

entonces prueba este código:

function doGPS() 
{ 
    try{ 
     //position request 
     navigator.geolocation.getCurrentPosition(function (position) { 
     alert(position.coords.latitude); 
     alert(position.coords.longitude); 
     }); 
    } 
    catch(evt) 
    { 
     alert(evt.message); 
    } 

} 
+4

Activar los servicios de ubicación funcionó para mí. Intenté probarlo en: http://html5demos.com/geo ** Pregunta: ** ¿los servicios de ubicación para safari están activados o desactivados por defecto? – zzz

0

He usado js de appMobi, y funciona bien si vuelvo a cargar una página web en Safari en el iPhone. Sin embargo, las aplicaciones marcadas en la pantalla de inicio no lo están haciendo (incluso si marque una nueva versión en la aplicación web).

La nueva js se carga bien en la aplicación marcada (agregué un mensaje emergente con un nuevo aviso cada vez que actualicé el código, solo para asegurarme de que la aplicación web está cargando el nuevo js), y el iPhone promtps si quiero permitir que el sitio verifique, pero no sucede nada cuando digo que sí. Mientras que en Safari, muestra el lat/long.

¿Alguien tuvo un problema similar?

ACTUALIZACIÓN: funciona, pero sólo la primera vez que cargue una página - la segunda vez, se muestra 'inicio', pero no mostrará la latitud/longitud ...

if (navigator.geolocation) { 
    alert('Geolocation is supported!'); 
} 
else { 
    alert('Geolocation is not supported for this Browser/OS version yet.'); 
} 

try{ 
    //position request 
    alert('start'); 
    navigator.geolocation.getCurrentPosition(function (position) { 
    alert(position.coords.latitude); 
    alert(position.coords.longitude); 
    }); 
} 
catch(evt) 
{ 
    alert('fail'+evt.message); 
} 
Cuestiones relacionadas