usuario posición getcurrentposition geolocalización error cómo con calcula html5 safari geolocation

html5 - posición - this geolocation getcurrentposition()



Geolocalización en Safari 5 (5)

¿Cómo se obtiene el script de la API de Google Maps? ¿El sensor param está configurado en verdadero o falso? Hice que Safari Geolocation no funcionara (en Windows) hasta que cambié "sensor = false" por "sensor = true" como en el siguiente ejemplo:

<script src="http://maps.googleapis.com/maps/api/js?sensor=true" type="text/javascript"></script>

Y funciona perfectamente en todos los navegadores: IE9, Chrome, FF10 +, Safari (Win).

Noté otra cosa extraña : funciona solo con Wi-Fi en Safari; si conectaste por cable, no funcionará y se quedaría parado para siempre.

Por lo tanto, para arreglar Safari simplemente agregue lo siguiente { maximumAge: 600000, timeout: 10000 } para manejar el tiempo de espera:

// Try W3C Geolocation (Preferred) if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { handleGeolocationAcquired(position.coords.latitude, position.coords.longitude); }, function(error) { handleNoGeolocation(); }, { maximumAge: 600000, timeout: 10000 }); // Try Google Gears Geolocation } else if (google.gears) { var geo = google.gears.factory.create(''beta.geolocation''); geo.getCurrentPosition(function (position) { handleGeolocationAcquired(position.latitude, position.longitude); }, function () { handleNoGeolocation(); }); } //Cannot obtain Geo Location else { handleNoGeolocation(); }

De esta forma, en caso de que esté en Safari (bajo Windows) y conectado por cable (=> bucle sin fin adquiriendo ubicación Geo): después de 10 segundos, se volverá a utilizar el manejador de errores.
Por cierto, el parámetro maximumAge simplemente establece la caducidad de la ubicación.

Tengo una aplicación que informa mi ubicación mediante geolocalización HTML5. La aplicación funciona correctamente en Firefox y Chrome, pero en Safari 5, dice que Safari no es compatible con la geolocalización.

Según lo que leí, Safari 5 admite geolocalización. ¿Qué me estoy perdiendo?

Gracias por tu tiempo.

Sunil


Aunque nominalmente el soporte de geolocalización en Safari 5 está disponible tanto para Mac como para Windows, estoy escuchando más problemas en el lado de Windows.

Por ejemplo, vea esta pregunta similar de . Sin embargo, en ese caso, navigator.geolocation estaba disponible, simplemente nunca recibió una devolución de llamada exitosa. Cuando dices que "dice que Safari no admite Geolocalización", ¿quién te lo está diciendo? ¿Recibes una devolución de llamada por error, es nulo el navigator.geolocation , o acabas de leerlo en otro lugar (y si es así, dónde?)?


Llamar a getCurrentPosition(...) sin un tiempo de espera especificado hace que Safari se quede allí por minutos.


Parece que la geolocalización de Safari solo funciona cuando está conectado con wifi. Cuando se conecta con una conexión por cable, Safari llama a la devolución de llamada de error desde las funciones de geolocalización.

Para probar esto, intente esto en la consola web:

navigator.geolocation.getCurrentPosition( function(){console.log("success")}, function(){console.log("error")} );

Con Safari / wifi esto devuelve ''éxito'' después de uno o dos segundos, pero en una conexión cableada devuelve ''error'' inmediatamente.

(usando Safari 5.1 - 8.x / Mac OSX 10.7 - 10.10)


hmmm, estoy un poco perplejo. Safari 5 es compatible con la geolocalización a través de HTML 5. Es posible que desee intentar utilizar un servicio de detección de características HTML 5 como Modernizr . Esto le dirá qué navegadores son compatibles con los estándares html5 y css3. Estoy usando Safari 5 y Modernizr muestra que la API de geolocalización es compatible.