Могу ли я повернуть машину, используя местоположение на карте Google?

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

{
    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;

Могу ли я повернуть машину, используя местоположение на карте Google?

вы должны использовать подшипник

Devil Decoder 26.09.2018 15:10

это автомобили на картах есть маркеры карты?

Daljeet 26.09.2018 15:18

ДА. это маркеры карты.

Kamani Jasmin 26.09.2018 15:30
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
506
3

Ответы 3

Вы можете изменить поворот, например:

marker.rotation = angle value

Я знаю это, но все время я получал значение «угла» 0.

Kamani Jasmin 26.09.2018 15:29

Итак, ваш вопрос неправильный, вы должны спросить, как получить или рассчитать угол ... Проверьте, что вы спросили, как я могу вращаться.

Daljeet 26.09.2018 15:30

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

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

Вы также можете использовать Float.pi вместо Float (Double.pi)

kkica 26.09.2018 17:40

Используйте метод делегата Core Location. Это даст направление вашего телефона.

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

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

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

var currentLoaction: GMSMarker = GMSMarker ()

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

Другие вопросы по теме