2010-07-21 27 views
5

Necesito desarrollar una aplicación web. (PHP) 100% para teléfonos móviles y necesita obtener la información del GPS del teléfono móvil, para obtener la posición actual del usuario. Mi pregunta es, ¿qué debería hacer?Aplicación web móvil GPS

Sé PHP, pero no tengo ni idea de la parte del GPS (nunca antes había trabajado con ellos). Todo lo que busco es un vistazo para ver si puedo manejar el trabajo o simplemente rechazarlo.

He oído que la API de geolocalización W3 hace un muy buen trabajo, pero después de probarlo no estoy convencido de la precisión y el soporte del navegador. No quiero utilizar los engranajes de Google debido al hecho de que primero debe descargarse.

Respuesta

1

Creo que el W3C Geolocation API es un buen lugar para comenzar: tiene una creciente aceptación en los teléfonos móviles, es un estándar abierto y abstrae todos los detalles del dispositivo API ic.

Es cierto que la precisión puede no ser perfecta, pero eso se debe a que el teléfono no siempre puede saber perfectamente dónde está. La API le ofrece un par de formas de evitar esto: si necesita una gran precisión, puede indicarle al dispositivo que desea obtener un resultado preciso incluso a costa de la energía/tiempo con el indicador enableHighAccuracy y establecer un parámetro largo timeout para permitir el dispositivo para usar el GPS para encontrar una ubicación. Además, todas las posiciones se devuelven con un valor de precisión de 95% de confianza: si el error es demasiado alto (a menudo los teléfonos devolverán un error alto en la primera solicitud), puede solicitar la ubicación nuevamente, especificando que no desea una ubicación en caché

+0

¿se puede aplicar w3c geolocation api en php? o está trabajando en javascript solo? Me he referido a la referencia pero desorientado. Gracias. – davidlee

+1

@benmsia La API W3C es una API de JavaScript, compatible con un número creciente de navegadores. Si lo necesitara, podría acceder a esta información transmitiendo los resultados de JavaScript a su script PHP del lado del servidor utilizando AJAX, o mejor aún, haciendo que el usuario envíe la información a través de un formulario que ha rellenado automáticamente con JavaScript. Entiendo que la especificación en sí misma puede ser difícil de leer: Tengo un código de muestra en http://npdoty.name/location#developer – npdoty

0

Según el dispositivo móvil, es posible que tenga acceso a GPS. Sin embargo, en el amplio espectro de dispositivos móviles, probablemente no pueda obtenerlo de manera confiable desde el navegador del dispositivo solo. Leer el IP sería inútil teniendo en cuenta la arquitectura de las redes celulares.

Se puede hacer, pero es necesario construir en el nivel de degradación.

+0

Tal vez no obtenerlo de forma transparente a través del navegador de dispositivos, pero ¿qué hay de pedir coords? – Ben

+0

No creo que el usuario común lo sepa. Y si puede proporcionárselas, entonces tiene datos de GPS. Esto realmente se reduce al propósito de su aplicación. Pregúntese: ¿la ubicación es obligatoria? ¿Es * malo * preguntarle al usuario? ¿Hay requisitos de precisión? –

+0

Abajo votando una respuesta de 18 meses. De buen tono. La tecnología cambia Claramente, cualquiera de estas respuestas ahora está desactualizada. Eso vale para cualquier cosa en SO. –

1

coordenadas GPS están disponibles con javascript - lugar algo como esto al cargar la página:

function locationHandler(location) 
{ 
    var lat = location.coords.latitude; 
    var lng = location.coords.longitude; 

    if(lat && lng) 
    { 
     // something clever goes in here 
    } 
} 

if(typeof navigator.geolocation.getCurrentPosition == 'function') 
{ 
    navigator.geolocation.getCurrentPosition(locationHandler); 
} 

donde el comentario es en la que desea hacer algo inteligente. puede rellenar valores de formulario o hacer una llamada ajax a un script de back-end.

¡Vincúlelo con una geocodificación inversa de Google y obtendrá un ganador!

Cuestiones relacionadas