2016-03-22 6 views
0

Uberのように動作するiOSアプリケーションで作業しています。デバイスが動くと、私は車のマーカーも移動しています。しかしUberのように道を回るごとにそれを回すことはできません。どうすればそれを可能にすることができますか? また、この車のマーカーは道路上にのみ保管できますか?GoogleマップのiOSで、Uberさんの旅行画面のように、道路上の道路ごとにマーカーを切り替える方法

+0

あなたは、このためのソリューションを持っているを使用して、マーカー自体を回転させる: は、軸受の計算にこの機能を使用しますか? –

答えて

-1

bearingに関して、更新または位置の移動とともに、rotating the markerを見てください。 gpsに依存してマーカーを配置する正確な場所を提供しているので、マーカーを道路上に維持することでどのように達成できるかはわかりません。

このSOをサンプルとしてご覧ください。

0

軸受を計算し、計算された軸受に基づいてマーカーを回転することができます。

+(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; 
    } 
} 

が続いて回転プロパティ

marker.rotation = CALCULATED_BEARING - 180; 
関連する問題