Ich habe dieses kleine Code-Schnipsel hier. Was ich suche ist, die aktuelle GPS-Laufrichtung (Peilung) des Benutzers zu erhalten und dann die entgegengesetzte Laufrichtung zu erhalten.Berechnen Sie das Gegenteil der aktuellen Android GPS Laufrichtung
Ich scheine hier einige wichtige Informationen zu verpassen, da der Code meistens funktioniert, wenn ich nordöstlich und westwärts laufe, aber versagt, wenn ich nach Süden gehe.
Irgendeine Idee, wie man mein Schnipsel repariert?
private static Location lastValidLocation;
private float getOppositeGPSMovementDirection(Location lastLocation){
float bearing;
if (!lastLocation.hasBearing){
//Use bearing of the last Location with a valid bearing.
bearing = lastValidLocation.getBearing();
}else{
lastValidLocation = lastLocation;
bearing = lastLocation.getBearing();
}
//Calculate backwards direction
int direction = (int) (bearing - 180);
direction = direction<0?direction*-1:direction;
return direction;
}
Sie sind völlig richtig! – Markus