2016-04-29 4 views

Antwort

1

Sie können die Lager zwischen zwei Standorten durch den folgenden Code berechnen:

double x = Math.cos(lat2) * Math.sin(lng1-lng2); 
double y = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lng1-lng2); 
double bearing = Math.atan2(x, y); 

Das Problem ist, dass Sie die aktuelle Position des Telefons wissen müssen, auch. Der CodeNipped berechnet nur die Peilung relativ zum geografischen Norden.

Sie könnten meine CompassAssistant Klasse verwenden. Es hat die Lagerfunktionalität, die Sie benötigen. Das Howto befindet sich in der Readme. Zögere nicht, mich zu fragen, ob du Hilfe brauchst.

Wenn Sie es selbst tun wollen: Ich habe die Lösung für einen Kompass in this post beschrieben. Fügen Sie einfach den negativen Wert hinzu, den der Kompass dem Wert gibt, den Sie erhalten haben, indem Sie die Peilung mit dem obigen Code berechnen.

Hoffe das hilft dir.

Verwandte Themen