Creación de GeOpoint en Android
-
25-10-2019 - |
Pregunta
GeoPoint point = new GeoPoint(
(int) (userlocation.getLatitude() * 1E6),
(int) (userlocation.getLongitude() * 1E6));
Estoy creando Geo Point como arriba, pero no está en la ubicación exacta del usuario, está a casi 500 a 600 metros de distancia
Aquí userLocation es ubicación que estoy obteniendo de la ubicación oyente
En la ubicación del usuario, obtengo valores como 18.453225455645 y 78.15446456546 Pero mientras trama puedo usar solo 18.453225 y 78.154464, es decir, solo seis dígitos después de decimal. Si intento usar el marcador de valores adicionales, muestra una ubicación incorrecta (se debe a los valores de GeoPoint en INT)
¿Cómo puedo trazar la ubicación exacta en el mapa?
Editado:- No creo que nadie tenga una solución en esto. Revisé algunas aplicaciones y descubrí una aplicación llamada mytaxi que tiene más precisión de lo que Google Map no sabe cómo lo obtienen. Actualmente estoy redondeando la latitud y la longitud.
Gracias
Solución
una. Solo eliminar los últimos dígitos después de seis dígitos no le dará un error de 500-600 m, ya que 5 dígitos después de los lugares decimales debería darle una precisión de aproximadamente 1 m.
b. ¿Está utilizando GPS o algún otro proveedor de ubicación? Use solo GPS como proveedor de ubicación si desea una ubicación precisa. Hay una captura, aunque GPS requeriría una línea de visión para funcionar correctamente.