我有一个自定义的MkAnnotation,它有一个标题,副标题和与之相关的额外信息,可以在地图视图中使用。我将此信息传递给另一个UIViewController。但是我的坐标似乎存在一些问题,我为该引脚分配了这个问题。错误在代码行“var bridge17pin = MyAnnotation()”下面的引脚的设置信息中突出显示。
override func viewDidLoad() {
super.viewDidLoad()
//for users location
myLocMgr.desiredAccuracy = kCLLocationAccuracyBest
myLocMgr.requestWhenInUseAuthorization()
myLocMgr.startUpdatingLocation()
myLocMgr.delegate = self
mapView.delegate = self
//coordinate for pin
var bridge17 = CLLocationCoordinate2DMake(53.346061, -6.227379)
//custom MKAnnotation
class MyAnnotation: NSObject, MKAnnotation {
@objc var coordinate: CLLocationCoordinate2D
var EXTRA_INFORMATION: String?
var title: String?
init(coordinate: CLLocationCoordinate2D) {
self.coordinate = coordinate
}
}
//setting information of pin
var bridge17pin = MyAnnotation()
bridge17pin.coordinate = bridge17
bridge17pin.title = "The bridge"
bridge17pin.subtitle = "hello this is the bridge"
bridge17pin.EXTRA_INFORMATION = "this was built in 2010"
mapView.addAnnotation(bridge17pin)
}
答案 0 :(得分:0)
因为您在实例化时必须发送坐标。所以在代码中替换
var bridge17pin = MyAnnotation()
与
var bridge17pin = MyAnnotation(coordinate: bridge17)
对于那个子标题see this link