0

У меня есть пользовательская 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

Потому что вы должны послать координат в то время как вы инстанцировании. Так в коде заменить

var bridge17pin = MyAnnotation() 

с

var bridge17pin = MyAnnotation(coordinate: bridge17) 

И для этого Subtitle see this link

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