2010-08-10 21 views
8

Me gustaría obtener la latitud y la longitud de la ubicación actual desde el dispositivo móvil con GPS directamente desde el navegador web. ¿Puedo saber si esto es posible? ¿cómo hacerlo? ¿Requiere una aplicación de geolocalización? Algún ejemplo de codificación sería útil. Gracias.obtener la latitud y longitud actual del dispositivo habilitado para GPS

+0

El usuario debe proporcionar voluntariamente esta información. Ver la página de inicio de Google en el móvil. –

+0

¿Qué dispositivo? ¿Qué API? –

+0

@josh sí, por supuesto, se supone que el usuario ha aprobado compartir la ubicación en la configuración del teléfono .. – davidlee

Respuesta

16

Utilice la API de geolocalización HTML5, aquí está el official spec and examples.

EDITAR

He actualizado mi respuesta para incluir el soporte del navegador actual.

soporte de la API W3C Geolocalización

Firefox 3.5+ 
Safari 5.0+ 
Chrome 5.0+ 
Opera 
iPhone 3.0+ 
Android 2.0+ 

· ·
Otros teléfonos no mencionados anteriormente, el uso Gears o sus propias APIs específicas de la plataforma.

Ahh, nunca vamos a tener un solo pecado gle API? :)

Muchas gracias a Mark Pilgrim por su impresionante post.

+0

significa que la api de geolocalización html5 puede ser utilizada por todos los dispositivos habilitados para gps? gracias .. – davidlee

+0

La publicación de Mark Pilgrim a la que enlazaste ya no está disponible :( –

+0

Google Gears ya no está disponible. –

0

No necesita tener el teléfono móvil más nuevo para usar la API de geolocalización y GPS. Casi todos los navegadores móviles (sin servidor proxy) se pueden usar para leer la posición del GPS buidin. Si tiene Java y GPS en su teléfono - Puede usar mobile-gps-web-gate - vea en http://code.google.com/p/mobile-gps-web-gate/

9

Aquí hay un código JavaScript real que utiliza API de geolocalización HTML5. El siguiente funciona en el navegador de Android y en el iPhone Safari:

  function onPositionUpdate(position) 
      { 
       var lat = position.coords.latitude; 
       var lng = position.coords.longitude; 
       alert("Current position: " + lat + " " + lng); 
      } 

      if(navigator.geolocation) 
       navigator.geolocation.getCurrentPosition(onPositionUpdate); 
      else 
       alert("navigator.geolocation is not available"); 
+0

¡¡¡El enlace no funciona !!!!!! –

Cuestiones relacionadas