Я получил эти данные из сокета и мне нужно изменить поворот автомобильная база на измененном месте. как я могу повернуть (влево, вправо, вверх, внизу) машина?
{
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;
это автомобили на картах есть маркеры карты?
ДА. это маркеры карты.
Вы можете изменить поворот, например:
marker.rotation = angle value
Я знаю это, но все время я получал значение «угла» 0.
Итак, ваш вопрос неправильный, вы должны спросить, как получить или рассчитать угол ... Проверьте, что вы спросили, как я могу вращаться.
Вы можете использовать это, чтобы получить угол поворота автомобильного маркера:
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)
Используйте метод делегата 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.
вы должны использовать подшипник