Se pierde el proveedor de Android Fused Location

He estado probando la nueva API de ubicación de android durante unas semanas. En general, funcionan bastante bien, sin embargo, el nuevo proveedor de ubicación con frecuencia pierde la trama.

Específicamente, cablear un ejemplo basado en el ejemplo de actualizaciones de ubicación de recepción . Funciona correctamente y las actualizaciones de ubicación se reciben como se esperaba.

El problema parece estar con el proveedor fusionado en sí. En algunas áreas (especialmente alrededor de mi casa) se pierde completamente. Repentinamente pensaré que estoy a kilómetros de donde estoy. Alrededor de donde trabajo (que es un área más construida) es mucho más exacta y siempre razonablemente cerca de donde realmente estoy (en modo equilibrado).

He hecho muchos intentos de solucionar esto, incluyendo el cambio a PRIORITY_HIGH_ACCURACY cuando sospecho que está en error, o utilizando el antiguo LocationManager para intentar obtener una corrección GPS para establecer dónde realmente estoy. Pero nada parece ayudar demasiado. Sospecho que Google tiene malos datos sobre dónde ciertas torres móviles de hotspots WiFi están alrededor de mi casa, y cuando se conecta a ciertas torres es de repente salta a pocos kilómetros de la verdadera ubicación. Es muy molesto e interferirá con la API de Geofence también. ¿Algún consejo sobre cómo puedo solucionar esto?

¿Puede ignorar las actualizaciones de ubicación que son inexactas? Este código fue lanzado en Google IO 2013 creo, por lo que todavía puede tener algunos errores.

(Estoy experimentando la misma cosa que usted. Área rural, el proveedor de Fused Location me está dando lugares por todo el lugar)

Hay malos datos sobre algunos puntos de acceso WIFI de vez en cuando, y estos tienden a arreglarse después de un tiempo. Una pista de lo que le está sucediendo se puede encontrar en la precisión devuelta. Si cuando va al lugar equivocado, la precisión es un gran número (cientos de metros), lo que implica que el proveedor de ubicación fusionada está usando una ubicación de celda. Puede significar que no hay un montón de APs donde vives, y que sólo se puede obtener una ubicación wifi de vez en cuando (o de vez en cuando no se puede conseguir una ubicación wifi). El FLP debe mejorar en evitar estos saltos con el tiempo a medida que los algoritmos mejoran.

Si la mala ubicación se obtiene tiene una precisión pequeña (alrededor de 30 metros), que implica que es una ubicación wifi, y la información de la base de datos AP mal probablemente explica el problema.

  • Detectar o impedir si el usuario utiliza una ubicación falsa
  • Obtener el nombre de ubicación actual del usuario sin necesidad de utilizar gps o Internet, sino mediante Network_Provider en android
  • ¿Cuál es el significado de android.location.LocationManager.PASSIVE_PROVIDER?
  • No conectado. Llamar Conectar o esperar a que onConnected () sea llamado excepción dentro de onConnected?
  • Posicionamiento egnos en un dispositivo android
  • Android: Obtener ubicación reciente solamente, no getLastKnownLocation?
  • Comprueba si está habilitado 'Acceso a mi ubicación' - Android
  • Cómo quitar un LocationListener de LocationManager que se agrega dos veces en android?
  • Cómo recuperar la ubicación GPS a través de SMS
  • API de ubicación de Google: solicita actualizaciones de ubicación con intención pendiente?
  • Uso del sensor de orientación para apuntar hacia una ubicación específica
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.