新编码器,试图弄清楚如何使用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)
}
}
答案 0 :(得分:53)
他们在MapKit中被称为annotations
,你就像这样实例化它们:
let annotation = MKPointAnnotation()
然后在viewDidLoad()
方法中设置坐标并将它们添加到地图中,如:
annotation.coordinate = CLLocationCoordinate2D(latitude: 11.12, longitude: 12.11)
mapView.addAnnotation(annotation)
数字是你的坐标
答案 1 :(得分:10)
我学会了如何做到这一点的方式是:
在与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)