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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top