2016-03-22 2 views

Antwort

-1

Werfen Sie einen Blick auf rotating the marker neben dem Update oder das Verschieben von Standorten in Bezug auf die bearing. Nicht wirklich sicher, wie Sie mit dem Marker auf der Straße erreichen können, da Sie sich auf den GPS verlassen, um genaue Position anzugeben, wo Sie Ihren Marker platzieren werden.

Werfen Sie einen Blick auf diese SO als Beispiel.

0

Sie können das Lager berechnen und dann den Marker basierend auf dem berechneten Lager drehen. dieser Funktion können Sie Lager berechnen:

+(float)getBearing:(CLLocationCoordinate2D)locations1 andSecond:(CLLocationCoordinate2D)locattion2 
{ 
    float fLat = degreesToRadians(locations1.latitude); 
    float fLng = degreesToRadians(locations1.longitude); 
    float tLat = degreesToRadians(locattion2.latitude); 
    float tLng = degreesToRadians(locattion2.longitude); 

    float degree = radiansToDegrees(atan2(sin(tLng-fLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(tLng-fLng))); 

    if (degree >= 0) { 
     return degree; 
    } else { 
     return 360+degree; 
    } 
} 

drehen Sie dann den Marker selbst Rotation Eigenschaft mit

marker.rotation = CALCULATED_BEARING - 180; 
Verwandte Themen