Frage

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

Ich erstelle Geo -Punkt wie oben, aber es liegt nicht an genauer Stelle des Benutzers, es sind fast 500 bis 600 Meter entfernt

Hier ist die Benutzerlokation von Ort, an dem ich vom Standort -Listener bekomme

In Benutzerstandort erhalte ich Werte wie 18.453225455645 & 78.15446456546, aber während ich auf der Plotte nur 18.453225 & 78.154464 dh - nur sechs Ziffern nach der Dezimalzahl verwenden kann. Wenn ich versuche, zusätzliche Werte zu verwenden, zeigt Marker einen falschen Ort. (Dies liegt an GeoPoint -Bedarfswerten in int int)

Wie kann ich den genauen Standort auf der Karte zeichnen?

Bearbeitet:- Ich glaube nicht, dass jemand eine Lösung dazu hat. Ich habe einige Apps überprüft und eine App namens Mytaxi herausgefunden, die mehr Genauigkeit hat als Google Map nicht, wie sie das bekommen. Derzeit runde ich nur Breitengrad & Längengrad.

Danke

War es hilfreich?

Lösung

a. Wenn Sie nur die letzte Ziffer nach sechs Ziffern entfernen, erhalten Sie keinen Fehler von 500 bis 600 m als 5-Ziffer nach Dezimalstellen, die Ihnen eine Präzision von ca. 1m geben sollten.

b. Verwenden Sie GPS oder einen anderen Standortanbieter? Verwenden Sie nur GPS als Standortanbieter, wenn Sie einen genauen Standort wünschen. Es gibt einen Haken, obwohl GPS eine Sichtlinie erfordern würde, um korrekt zu arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top