ios precisión google maps

Tengo una vista que muestra la location actual del usuario usando google maps y ruta a su distensión.

el problema: la location del usuario está fuera del path la mayor parte del time, no puedo poner la aplicación así en la Appstore, obtendrá malas críticas.

Revisé google sdk para iOS, ¿hay alguna propiedad de precisión? como: self.googleMap.accuracy = bestForNavigation

¿Existen ajustes o properties para configurar que mejoren la precisión de la location del usuario?

¿Cómo las aplicaciones de maps en la Appstore muestran la location del usuario con tanta precisión como la aplicación Google? introduzca la descripción de la imagen aquí

En el CoreLocationManager puede establecer la desinetworkingAccuracy en kCLLocationAccuracyBestForNavigation . Sin embargo, el GPS todavía no es perfecto, puede get entre 5 y 100 metros de precisión del GPS según la calidad de la señal, la vista del cielo (cañones, ciudades), etc.

Otra fuente de error a tener en count, asegúrese de que sus datos de GPS estén en el mismo dato (es decir: WGS-84) como el map y los datos de la networking de carreteras. Diferentes datums pueden agregar errores pequeños (o grandes).

Para compensar el error inherente de GPS y mapeo, la mayoría de las aplicaciones de navigation paso a paso usan lo que llamamos "instantánea". Calculamos en qué carreteras se encuentra el usuario y SI la location del GPS se encuentra a 30m (ver nota 1) de la carretera Y el rumbo (o rumbo, nota2) está dentro de +/- 25 grados de la dirección del path, LUEGO nos "chasqueamos" el path Esto significa que cambiamos la location y el rumbo del punto de location mostrado para que muestre que el usuario está exactamente en la carretera (calcule el punto más cercano en la carretera desde el punto GPS) y diríjase a lo largo del path (select el rumbo de la carretera que es el más cercano). Esto requiere datos detallados de geometry del path, incluidas curvas y algunos cálculos divertidos, pero funciona muy bien una vez que lo obtienes.

Si están más lejos de la carretera o no alineados con el rumbo de la carretera, entonces mostramos su location actual del GPS. Esto funciona muy bien, pero requiere que tenga la geometry de la networking de carreteras disponible (o al less su ruta a la geometry de destino) para que pueda realizar estas comprobaciones.

Nota 1: seleccionamos una tolerancia basada en la CLLocation horizontalAccuracy reportada de la CLLocation que obtenemos.

Nota 2: combinamos el encabezado de la brújula (corregido) y el rumbo (desde el GPS) para decidir el título real de los usuarios. Debajo de aproximadamente 8 km / h usamos pnetworkingominantemente el rumbo de la brújula, por encima de eso usamos principalmente el rumbo GPS (es más preciso). También realizamos un curso de GPS para determinar el error de la brújula para corregirlo. Esto nos permite mostrar títulos precisos incluso cuando se detiene a una velocidad de estacionamiento ligera o muy lenta.

Hay límites para la precisión del GPS.
Si una aplicación tiene acceso a los datos del map subyacente y existe la suposition de que la location debe estar en una carretera, entonces podría afectar la location del usuario. Pero qué pasa si estoy aparcado al lado de la carretera o no en un vehículo.

Fro: gps.gov : la señal de GPS en el espacio proporcionará una precisión de pseudodistancia de "peor caso" de 7,8 metros con un nivel de confianza del 95%.

Pero es posible que los receptores funcionen mejor que esto, especialmente si son estacionarios. En el caso estacionario, el promedio de location puede ayudar sustancialmente, pero el hecho de que sea estacionario debería ser conocido por el dispositivo. También es posible que los receptores lo hagan mucho peor. Por lo tanto, de 10 a 20 metros es probablemente una suposition segura.