¿Puedo leer las coorderadas GPS mobilees 'reales' de un website?

Hice un website y quiero leer la position "real" del GPS en el mobile (Android y iPhone). Cuando bash configurar la location en mi website desde mi Android con el método W3C javascript, el GPS no está habilitado y la position está configurada por IP (cuando bash con la aplicación Google Maps, el GPS está habilitado y parpadea en la barra de estado). ¿Hay alguna forma de leer el GPS (GPS real) desde una web en un mobile? ¡Gracias por adelantado!

Con HTML5 puedes hacer eso. Debe verificar la API de geolocation: Inmersión en HTML5 y especificación de API de geolocation W3C

El ejemplo más simple se ve así:

if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( function (position) { do_something(position.coords.latitude,position.coords.longitude); }, function (error){ switch(error.code){ case error.TIMEOUT: // Timeout break; case error.POSITION_UNAVAILABLE: // Position unavailable break; case error.PERMISSION_DENIED: // Permission denied break; case error.UNKNOWN_ERROR: // Unknown error break; default: break; } } ); } 

Probablemente también sea interesante en algunas implementaciones específicas del browser: Mozilla , IE , Chrome

Actualizado. Como dijo Mozilla aquí , los dispositivos con un GPS, por ejemplo, pueden tardar un minuto o más para get una corrección de GPS, por lo que se pueden devolver datos less precisos (location de IP o wifi) a getCurrentPosition () para comenzar.

Por lo tanto, si necesita tener una alta precisión (como el GPS solamente), use watchPosition lugar de getCurrentPosition .

Como se indica en la especificación W3C, es posible que necesite utilizar el tercer argumento de watchPosition y getCurrentPosition, que es una interfaz PositionOptions para establecer enableHighAccuracy en true; de ​​lo contrario, con su valor pnetworkingeterminado falso, el GPS no se encenderá necesariamente por el dispositivo.