Domanda

GeoPoint point = new GeoPoint(
       (int) (userlocation.getLatitude() * 1E6),
       (int) (userlocation.getLongitude() * 1E6));

Sto creando punto geo come sopra ma non è in posizione esatta dell'utente è quasi 500 a 600 metri di distanza

Ecco userlocation è la posizione che sto ottenendo da ascoltatore posizione

In posizione dell'utente ottengo valori qualcosa di simile 18,453225455645 & 78,15446456546 Ma durante la stampa posso solo usare 18.453225 & 78.154464 cioè - solo sei cifre decimali dopo. se cerco di usare valori extra spettacoli marcatori posizione errata. (E 'a causa di GeoPoint valori esigenze in int)

Come posso tracciare posizione precisa sulla mappa ??

A cura: - non credo uno ha la soluzione su questo. Ho controllato alcune applicazioni e scoprire un'applicazione chiamata myTaxi che ha una maggiore precisione rispetto a Google mappa non sanno come ottenere che. Attualmente sto solo arrotondamento di latitudine e longitudine.

Grazie

È stato utile?

Soluzione

a. Solo rimuovendo gli ultimi cifra dopo sei cifre non vi darà un errore di 500-600 m da 5 cifre dopo decimali dovrebbero dare precisione di circa 1 m.

b. Si sta utilizzando il GPS o qualche altro fornitore di posizione? Utilizzare il GPS solo come fornitore di posizione se si desidera posizione esatta. C'è un fermo però GPS richiederebbe correttamente una linea-di-vista per il lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top