Подтвердить что ты не робот

Добавление контактов в карту с помощью MapKit - Swift 3.0

Новый кодер, пытающийся выяснить, как использовать MapKit. Цель состоит в том, чтобы создать карту, в которую пользователи могут добавлять контакты для использования своего адреса. Тем не менее, шаг, на котором я сейчас нахожусь, мне трудно понять, как добавить булавки к карте вообще.

Как добавить булавку на карту? Я изо всех сил пытаюсь понять, как использовать аннотации к настоящему времени.

То, что я надеюсь на помощь/направление. Спасибо!

import UIKit
import MapKit
import CoreLocation

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate

{
    @IBOutlet weak var bigMap: MKMapView!

    let locationManager = CLLocationManager()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.locationManager.delegate = self
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
        self.locationManager.requestWhenInUseAuthorization()
        self.locationManager.startUpdatingLocation()
        self.bigMap.showsUserLocation = true

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        let location = locations.last
        let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
        let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.02, longitudeDelta: 0.02))

        self.bigMap.setRegion(region, animated: true)
        self.locationManager.stopUpdatingLocation()

    }

    func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
        print("Errors " + error.localizedDescription)
    }
}
4b9b3361

Ответ 1

Они называются annotations в MapKit, и вы создаете их так:

let annotation = MKPointAnnotation()

то в методе viewDidLoad() просто установите координаты и добавьте их на карту, например:

annotation.coordinate = CLLocationCoordinate2D(latitude: 11.12, longitude: 12.11)
mapView.addAnnotation(annotation)

Цифры - это ваши координаты

Ответ 2

Я понял, как это сделать:

  1. В той же функции, что и viewDidLoad(), поместите следующие строки кода:

     let annotation = MKPointAnnotation()
     annotation.title = "Your text here"
     //You can also add a subtitle that displays under the annotation such as
     annotation.subtitle = "One day I'll go here..."
     annotation.coordinate = center 
    

Это единственное место, где я могу видеть, где у вас есть координата, если все остальное терпит неудачу, просто добавьте координату (поищите в Google, если вы
нужно знать, как создать координату) и установить его равным
переменная annotation.coordinate

map.addAnnotation(annotation)
  1. Dassit!