Вероятно, было бы лучше использовать CLLocationCoordinate2D
из структуры CoreLocation
для представления координатного местоположения.
Звучит как хорошее место для использования команды zip .
Вот пример:
let latArray = [50.456782, 57.678654]
let longArray = [14.578002, 17.890652]
let coordinates = zip(latArray, longArray).map { lat, lon in
CLLocationCoordinate2D(latitude: lat, longitude: lon)
}
print(coordinates)
Вывод (немного прибрано):
[CLLocationCoordinate2D (широта: 50.456781999999997, долгота: 14.578002), CLLocationCoordinate2D (широта: 57.678654000000002, долгота: 17.890651999999999)]
MKAnnotation
использует CLLocationCoordinate2D
для своего свойства координаты, так что это должно быть проще. Вы даже можете создать свой MKAnnotations
в функции карты, если хотите.
Пример использования со структурой:
let latArray = [50.456782, 57.678654]
let longArray = [14.578002, 17.890652]
struct Place {
var name: String
var coordinate: CLLocationCoordinate2D
}
let places = zip(latArray, longArray).map { lat, lon in
Place(name: "Some place",
coordinate: CLLocationCoordinate2D(latitude: lat, longitude: lon))
}
print(places)