Ich möchte meine Spur mit GPS auf einem Android-Gerät plotten.So zeigen Sie eine bewegte Spur auf Android-Gerät
Ich habe kein Problem, eine fertige Route anzuzeigen, aber es ist schwierig, die Strecke zu zeigen, während ich mich bewege.
Bisher habe ich 2 verschiedene Möglichkeiten gefunden, dies zu tun, aber beide sind nicht besonders zufriedenstellend.
METHOD 1
PolylineOptions track = new PolylineOptions();
Polyline poly;
while (moving) {
Latlng coord = new LatLng(lat,lng); // from LocationListener
track.add(coord);
if (poly != null) {
poly.remove();
}
poly = map.addPolyline(track);
}
dh bauen die Polylinie es vor der Zugabe der neuen Koordinaten zu entfernen und es dann wieder hinzugefügt wird.
Das ist horrend langsam.
METHOD 2
oldcoord = new LatLng(lat,lng);;
while (moving) {
PolylineOptions track = new PolylineOptions();
LatLng coord = new (LatLng(lat,lng);
track.add(oldcoord);
track.add(coord);
map.addPolyline(track);
oldcoord = coord;
}
dh eine Reihe von einzelnen Polylinien plotten.
Während dies viel schneller rendert als Methode 1, sieht es ziemlich gezackt aus, besonders bei niedrigeren Zoomstufen, weil jede Polylinie quadratisch ist und nur die Ecken sich berühren.
Gibt es einen besseren Weg und wenn ja, was ist das?
Danke für die Antwort. Ich kam schließlich selbst dazu (meine Methode 1). Das Problem, das ich hatte, war, dass, wenn ich durch eine ArrayListe von Koordinaten, die die Polylinie konstruierten und entfernten, die Verarbeitung für immer dauerte. Als ich diese Verarbeitung auf den onChangeListener verlagerte, funktionierte es jedoch wie ein Zauber. –
@PeteH Kannst du mir bitte sagen, was ist mapPoint in der Methode routePoints.add (mapPoint); – Keshav1234
Ein MapPoint ist einfach ein individuelles LatLng-Objekt, d. H. Einer der gewünschten Punkte für Ihre Kartenanzeige – PeteH