2016-07-14 13 views
1

Ich arbeite an einer App, bei der manuelle Interaktion mit Map nicht erlaubt ist. Die Karte kann nur geändert werden, wenn sich der Benutzer in eine Richtung bewegt. Wenn also ein Benutzer rotiert, dreht sich das Telefon und so sollte sich die Karte basierend auf dem Kompass im iPhone automatisch drehen, anstatt dass der Benutzer die Karte mit zwei Fingerbewegungen in die Richtung dreht. Hier ist ein Bild, das die Idee ein wenig mehr klar macht: Betrachten Sie den roten Punkt als meinen Standort und wie ich mein Telefon rotiere, möchte ich Google Karte damit drehen. Meine Frage ist also, wie dies erreicht werden kann? Da gibt es eine Methode, die ich nach der Suche [_myMap animateToViewingAngle:45]; gefunden habe, aber das tat nicht, was ich suchte.GMSMapView basierend auf Kompass drehen

BEARBEITEN Ich dachte daran, gibt es eine Möglichkeit, wie wir Lat und Long-Werte in Winkel konvertieren können?

+0

Bitte beziehen Sie sich auf meine Antwort hier http://stackoverflow.com/questions/38208747/gmsmapview-tracking-mode-heading/38209077#38209077 – Bharat

Antwort

2

Sie können die course-Eigenschaft aus dem CLLocation verwenden und an die animateToBearing-Methode Ihres GMSMapView übergeben. Von the documentation:

Swift

var course: CLLocationDirection { get } 

Objective-C

@property(readonly, nonatomic) CLLocationDirection course 

Diskussion

Kurswerte werden gemessen in Grad beginnend bei genau Norden und im Uhrzeigersinn um den Kompass herum. So ist Norden 0 Grad, Osten ist 90 Grad, Süden ist 180 Grad und so weiter. Kurswerte sind möglicherweise nicht auf allen Geräten verfügbar. Ein negativer Wert zeigt an, dass die Richtung ungültig ist.