Как добавить кнопку в MKPointAnnotation?

Я только что застрял, пытаясь добавить кнопку детализации к моей точке аннотации, к сожалению, я не знаю, как это сделать. Кто-нибудь может мне помочь с этим?

Изображение ниже представляет то, что я хотел бы достичь. Спасибо!

MapKitViewController:

import UIKit
import MapKit
import CoreLocation

class MapKitViewController: UIViewController, MKMapViewDelegate
{

let locationManager = CLLocationManager()

@IBOutlet weak var nmapView: MKMapView!
override func viewDidLoad()
{
    super.viewDidLoad()
    locationManager.requestWhenInUseAuthorization()
    locationManager.startUpdatingLocation()
    let location = CLLocationCoordinate2D(
        latitude: 53.4265107,
        longitude: 14.5520357)

    let span = MKCoordinateSpanMake(0.05, 0.05)
    let region = MKCoordinateRegion(center: location, span: span)
    nmapView.setRegion(region, animated: true)
    nmapView.showsPointsOfInterest = false
    nmapView.showsUserLocation = true
    displayMarkers()
}

func displayMarkers() -> Void
{
    let jsonURL: NSURL = NSURL(string: "http://jsonstring.com/")!

    var dataFromNetwork: NSData = NSData(contentsOfURL: jsonURL)!
    let json = JSON(data: dataFromNetwork)
    var jsonSize = json.count

    var todaysDate:NSDate = NSDate()
    var dateFormatter:NSDateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    var formattedDate:String = dateFormatter.stringFromDate(todaysDate)

    let annotationView = MKAnnotationView()
    let detailButton: UIButton = UIButton.buttonWithType(UIButtonType.DetailDisclosure) as UIButton
    annotationView.rightCalloutAccessoryView = detailButton


    for(var i = 0; i < jsonSize; i++)
    {
        if(json[i]["rozpoczecie"].stringValue == formattedDate)
        {
            let clubID = json[i]["id_klub"].stringValue
            let annotation = MKPointAnnotation()
            let (resultSet, err) = SD.executeQuery("SELECT * FROM Clubs WHERE ID = ?", withArgs: [clubID])
            if(err != nil){println("blad")}
            else
            {
                for row in resultSet
                {
                    let name = row["Name"]?.asString()
                    let latitude = row["Latitude"]?.asDouble()
                    let longitude = row["Longitude"]?.asDouble()
                    annotation.title = name
                    var markerLatitude: Double = latitude!
                    var markerLongitude: Double = longitude!
                    let location = CLLocationCoordinate2D(latitude: markerLatitude, longitude: markerLongitude)
                    annotation.setCoordinate(location)
                    annotation.subtitle = json[i]["nazwa"].stringValue
                }
                nmapView.addAnnotation(annotation)
            }
        }
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос