使用MapKit将Swins添加到Map中 - Swift 3.0

时间:2016-10-30 18:02:28

标签: ios swift mapkit mapkitannotation

新编码器,试图弄清楚如何使用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)
    }
}

2 个答案:

答案 0 :(得分:53)

他们在MapKit中被称为annotations,你就像这样实例化它们:

let annotation = MKPointAnnotation()

然后在viewDidLoad()方法中设置坐标并将它们添加到地图中,如:

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

数字是你的坐标

答案 1 :(得分:10)

我学会了如何做到这一点的方式是:

  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 
    
  2. 这是我能看到你坐标的唯一地方     如果所有其他方法都失败了,只需添加坐标(如果你在上面搜索Google) 需要知道如何创建一个坐标)并将其设置为等于
    " annotation.coordinate"变量

    map.addAnnotation(annotation)
    
    1. Dassit!