Могу ли я повернуть автомобиль, используя местоположение на карте Google? - PullRequest
0 голосов
/ 26 сентября 2018

Я получил эти данные из розетки, и мне нужно изменить вращение автомобильной базы в измененном месте.как я могу повернуть (влево, вправо, сверху, снизу) автомобиль?

{
    carType = Sedan;
    latitude = "41.738751";
    longitude = "-88.274285";
}

Я тоже так пробую, но не получается:

float dy = newLocation.latitude - oldLocation.latitude;
float dx = cosf(M_PI/180*oldLocation.latitude)*(newLocation.longitude - oldLocation.longitude);
float angle = atan2f(dy, dx);
driverMarker.rotation = angle;

enter image description here

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Вы можете использовать это, чтобы получить угол для поворота автомобильного маркера:

func angleBetween(oldLocation: CLLocation, newLocation: CLLocation) -> Double {
    let originLocation = CLLocation(latitude: newLocation.coordinate.latitude - oldLocation.coordinate.latitude, longitude: newLocation.coordinate.longitude - oldLocation.coordinate.longitude)
    let bearingRadians = atan2(originLocation.coordinate.latitude, originLocation.coordinate.longitude)
    let bearingDegrees = bearingRadians * 180 / Double.pi
    return bearingDegrees 
}

И вы можете использовать это так

let angle = angleBetween(oldLocation: oldLocation, newLocation: newLocation)

И вы можете использовать marker.rotation как@Daljeet сказал:

marker.rotation = angle
0 голосов
/ 28 сентября 2018

Использовать основной метод делегирования местоположения.Он покажет направление вашего телефона.

func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) 
{

        let direction = newHeading.trueHeading as Double
        print("Direction :- \(direction)");
        currentLoaction.rotation = direction
}

Установите это направление для вашего маркера местоположения.здесь: currentLoaction is

var currentLoaction: GMSMarker = GMSMarker ()

Надеюсь, это поможет вам, если вы использовали Google Map.

0 голосов
/ 26 сентября 2018

Вы можете изменить вращение как:

marker.rotation = angle value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...