Estoy trabajando en una aplicación que utiliza la API de geolocalización estándar W3C pero no puedo por mi vida hacer que funcione en Safari en mi PC con Windows 7 y XP . Funciona bien en mi iPad y mi iPhone. También funciona perfectamente en Chrome (5, 6, 7 y la versión Canary) y en Firefox (3.6). No tengo una Mac así que no puedo probarlo con eso. IE aún no es compatible con la geolocalización, por lo que también está cubierto.Geolocalización no funciona en Safari 5.x en Windows 7/XP
Creé una versión reducida y la estoy hospedando en Google Apps Engine para que pueda echar un vistazo al código: http://html5-geolocator.appspot.com/. Todos los javascript (simplificados) están en html, por lo que debería poder hacer clic derecho y depurar/ver el código fuente.
Es casi una conversión directa de los ejemplos en el Google Map API DevGuide. Curiosamente, los ejemplos que aloja Google tampoco funcionan en Safari 5.0.x en Windows 7 (pero funcionan bien en todas esas otras plataformas, al igual que mi aplicación), por ejemplo, http://code.google.com/apis/maps/documentation/javascript/examples/map-geolocation.html exhibe exactamente el mismo problema que mi aplicación, no aparece un mapa, la página web simplemente se mantiene gris.
Mediante alguna depuración (alerta ("Estoy aquí") :-) parece que en Safari, ejecuta navigator.geolocation.getCurrentPosition (myCallback), pero nunca parece llegar a myCallback ... como si nunca regresa de getCurrentPosition. También he visto que si dejo la ventana del navegador abierta durante la noche, cuando vuelvo a ella en la mañana han aparecido la alerta y el mapa (aunque no siempre). También intenté agregar un errorCallback navigator.geolocation.getCurrentPosition (myCallback, errorCallback) pero tampoco lo ejecuta, sugiriendo de nuevo que nunca vuelva de la llamada a getCurrentPosition.
¿Alguien alguna idea de por qué sucede esto?
EDIT: acaba de hacer algunas pruebas más, he añadido la opción de tiempo de espera (navigator.geolocation.getCurrentPosition (MyCallback, errorCallback, {timeout: 5000});), y de hecho lo que el tiempo de espera todo el tiempo, no importa qué tan alto lo configuro para que nunca vuelva desde el servicio de geolocalización de Google, pero ¿por qué ???
Alguien alguna pista? – mvilrokx
Puedo confirmar exactamente los mismos resultados. Chrome dulce, Firefox 3.5 dulce, Safari 5 sin dados. :( – ADAM
También digo que estoy ejecutando Snow Leopard – ADAM