2016-10-30 5 views
9

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

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

Вот что я надеюсь на помощь/руководство. Благодаря!

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) 
    } 
} 

ответ

29

Они называются annotations в MapKit и инстанцировании их так:

let annotation = MKPointAnnotation()

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

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

Цифры Ваши координаты

+0

Mislav, спасибо за помощь! Это именно то, что мне нужно. – roguephillips

+6

Я добавил аннотацию, используя код ур, но аннотация не отображается на карте ??? –

+0

Они не отображаются из-за этого: https://stackoverflow.com/questions/39469529/swift-adding-annotations-on-map – Cesare

Смежные вопросы