Самый простой способ, добавить MKMapView и PointAnnotation программно - Swift 5
import UIKit
// Импортируем, без него никуда
import MapKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Вызываем метод
addToView()
}
// Создаём метод
func addToView() {
// Создаём экземпляр класса MKMapView и устанавливаем позиции и размеры
let guruMap = MKMapView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height))
// Добавляем на root view
view.addSubview(guruMap)
// Указываем координаты того, что хотим установить в центре карты
let center = CLLocationCoordinate2D(latitude: 40.730824, longitude: -73.997330)
// Диапазон для просмотра карты, уровень масштабирования
let span = MKCoordinateSpan(latitudeDelta: 0.125, longitudeDelta: 0.125)
// Создание обекта MKCoordinateRegion - региона
let region = MKCoordinateRegion(center: center, span: span)
// Установка созданного объекта, как регион
guruMap.setRegion(region, animated: true)
// Создание экземпляра - работа с булавкой
let annotation = MKPointAnnotation()
// Присвоение координат
annotation.coordinate = CLLocationCoordinate2D(latitude: 40.689249, longitude: -74.044500)
// Заголовок для булавки
annotation.title = "Statue Of Liberty"
// Добавляем булавку на карту
guruMap.addAnnotation(annotation)
}
}
// Если несколько Annotation
struct StructPinsByGuru {
var coord: CLLocationCoordinate2D
var ttl: String
}
// Создаем массив
var dataAnnotations = [StructPinsByGuru]()
// Заполняем данные в массив
dataAnnotations.append(StructPinsByGuru(coord: CLLocationCoordinate2DMake(52.272645, 76.942251), ttl: "A1"))
dataAnnotations.append(StructPinsByGuru(coord: CLLocationCoordinate2DMake(52.275427, 76.950936), ttl: "A2"))
// В цикле for in
for dataFor in dataAnnotations {
let annotation = MKPointAnnotation()
// Присвоение координат
annotation.coordinate = dataFor.coord
// Заголовок для булавки
annotation.title = dataFor.ttl
// Добавляем булавку на карту
guruMap.addAnnotation(annotation)
}
Возврат к списку