Hola
Jaime_Vicencio:
El código que presentas inicialmente es correcto si bien quisiera hacerte alguna matización:
-
enableHighAccuracy: true es la etiqueta que buscará el mejor recurso de ubicación. Hemos de entender que el smartphone (móvil o celular) tiene habilitado el GPS: si no la tuviere, dará la posición por triangulación, antena, ...
- Los tiempos que das son extremadamente cortos (
{ maximumAge: 100, timeout: 6000, enableHighAccuracy: true}): Ten en cuenta que son milisegundos (0,1 segundo y 6 segundos).
Lo normal sería
{ maximumAge: 5000, timeout: 60000, enableHighAccuracy: true} e incluso
maximumAge: 10000, ya la primera medición puede llevar más tiempo. Las actualizaciones son comparadas con el satélite a partir de la primera medición (es decir que las mediciones sucesivas son más rápidas).
- No todos los modelos vs. sistemas operativos trabajan igual (Android, iOS, BlackBerry, WindowsPhone etc).
- Siempre es bueno definir los errores ya que éllos nos identificarán el problema.
Sería añadir:
Código Javascript
:
Ver originalfunction error(error) {
var appErrMessage = null;
if (error.core == error.PERMISSION_DENIED) {
alert ('El usuario no ha concedido los privilegios de geolocalización');
} else if (error.core == error.POSITION_UNAVAILABLE) {
alert ('Posicion no disponible');
} else if (error.core == error.TIMEOUT) {
alert ('Demasiado tiempo intentando obtener la localización del usuario.');
} else if (error.core == error.UNKNOWN) {
alert ('Error desconocido');
} else {
alert ('Error insesperado');
}
}
Espero que te sea útil