0

Ich habe eine benutzerdefinierte MkAnnotation, die einen Titel, Untertitel und zusätzliche Informationen für die Verwendung in einer Kartenansicht enthält. Ich übermittle diese Information an einen anderen UIViewController. Es scheint jedoch ein Problem mit meiner Koordinate zu geben, die ich für den Pin zugewiesen habe. Der Fehler wird in der Einstellungsinformation des Pins unterhalb der Codezeile "var bridge17pin = MyAnnotation()" hervorgehoben.Fehler "Fehlendes Argument für den Parameter 'Koordinate' im Aufruf"

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

Antwort

0

Weil Sie die koordinieren zu senden, während Sie instanziieren. So in dem Code ersetzen

var bridge17pin = MyAnnotation() 

mit

var bridge17pin = MyAnnotation(coordinate: bridge17) 

Und für diesen Subtitle see this link