2010-08-08 14 views
5

Quiero factor de velocidad en mi aplicación de GPS en Android. Deseo utilizar tanto el proveedor de red como el proveedor gps para obtener actualizaciones de ubicación. Pero el proveedor de red apenas da velocidad. Mientras que el proveedor de GPS proporciona la corrección muchas veces.¿Cómo forzar al proveedor de GPS a obtener velocidad en Android?

  1. Pero es que para que una vez una solución se encuentra, sin la velocidad, el dispositivo no solicitará de nuevo la actualización hasta que el intervalo o distancia configurada en requestLocationUpdates cambios? Si es así, ¿cómo puedo exigir que continúe hasta que tenga velocidad? Encontré la clase Criteria, pero solo podemos usarla al elegir un proveedor. Quiero usarlo mientras obtengo la corrección. Puedo ?

  2. Otra cosa que noté es que a veces obtengo una velocidad de 127 m/s al inicio, incluso estoy estable y luego se normaliza a la velocidad real. ¿Es esto un problema de dispositivo (probado en G1) o, en general, depende de satallite o ubicación?

  3. ¿El uso de Criteria mientras selecciono el proveedor no me proporcionará puntos de ubicación que no quepan? Como si estableciera criteriaObj.setSpeedRequired (true), entonces no obtendré puntos si no hay tal disponibilidad. Como requiero actualización de posición en cualquier caso.

¿Alguna sugerencia?

Respuesta

5

responder a mi vieja pregunta ..

  1. para solicitar las actualizaciones continuas que necesita para establecer la distancia y tiempo de actualización min min como cero. Sin embargo, esto agotará la batería del dispositivo más rápido, pero está seguro de que obtiene lo mejor del hardware del GPS y filtra sus condiciones.

  2. Este 127 m/s^2 es de hecho un error en Android. Después de revisar el código de la aplicación de GPS mytracks de Google, descubrí que se ha detectado y filtrado este caso especial de 127 en su propio código.

  3. Sí, no obtendrá puntos que no tengan velocidad.

+0

Bonita observación, pero ¿cómo se revisó la aplicación My Tracks –

0

Creo que sus preguntas sobre los servicios basados ​​en la ubicación de Android se responden en un recent Google I/O session a partir de la diapositiva 73 de 84 en la presentación con diapositivas en pdf.

En particular, la sesión describe cómo implementar un patrón de retroceso que comienza con muchos oyentes de ubicación y elimina los oyentes a medida que mejora la precisión (momento en el que los cálculos de velocidad serían creíbles).

+0

Gracias por su respuesta. Revisé las diapositivas para ver los servicios basados ​​en la ubicación, mencionan los patrones de retroceso. Pero esto no responde si la introducción de más oyentes para un proveedor en particular (como el GPS) me dará datos más precisos. Es tan ? Quiero decir, si tengo más oyentes para suponer el proveedor de GPS, obtendré diferentes actualizaciones en todos ellos. Creo que un oyente puede recopilar todas las actualizaciones. Cual es verdadero ? – Pritam

+0

Si su objetivo es obtener los datos de ubicación más precisos disponibles, un oyente no hará eso. Las diapositivas están bien, pero son solo un resumen y no tan informativas como el video. ¿Viste la discusión de los criterios en el video? – gregS

+0

No, no vi videos. Pero como dices, lo veré, lo probaré y comentaré mis resultados :) – Pritam

Cuestiones relacionadas