Я хочу рассчитать подшипник между двумя местоположениями в Свифт. Я пробовал код, но он не работает. Я искал эту проблему, но я не нашел никакого результата.Рассчитать подшипник между двумя точками
func calculat(userlocation:CLLocation){
let latuserlocation:() = DegreesToRadians(userlocation.coordinate.latitude)
let lonuserlocatioc:() = DegreesToRadians(userlocation.coordinate.longitude)
latitude = NSString (string: places[activePlace]["lat"]!).doubleValue
longitude = NSString (string: places[activePlace]["lon"]!).doubleValue
let targetedPointLatitude:() = DegreesToRadians(latitude)
let targetedPointlongitude:() = DegreesToRadians(longitude)
let dlon = lonuserlocatioc - targetedPointlongitude
let y = sin(dLon) * cos(targetedPointLatitude);
let x = cos(latuserlocation) * sin(targetedPointLatitude) - sin(latuserlocation) * cos(targetedPointLatitude) * cos(dLon);
let radiansBearing = atan2(y, x);
return RadiansToDegrees(radiansBearing)
Ошибка на let dlon = lonuserlocatioc - targetedPointlongitude
является:
(не может ссылаться на '-' со списком аргументов типа '((),()))
возможно дубликат [Расчет подшипника между двумя точками CLLocation в Swift] (http://stackoverflow.com/questions/26998029/calculating-bearing-between-two-cllocation-points-in-swift) – Moritz
я попробуйте это, но не сработайте (Расчет подшипника между двумя точками CLL в Swift [duplicate]) – user3432650
Код не имеет смысла. Есть оператор return, но func не говорит, что он вернет значение. Зачем вам объявлять переменные широты и долготы как кортежи, а затем пытаться сделать арифметику (вычитание) на них? Вместо того, чтобы говорить «не работать», вы должны сказать, что произошло с ошибкой или проблемой _exact_, поскольку существует множество способов, с помощью которых вещи могут «не работать». – Anna