1

Pin アノテーションから別の viewController に情報を渡したいと思います。アノテーションのタイトルとサブタイトルを渡すことができますが、これらと一緒にいくつかの追加情報を渡す必要があります。タイトルとサブタイトル以外の追加情報を MKPointAnnotation に追加する方法はありますか?

ここでは、ピンのタイトルとサブタイトルを設定して、マップに表示します。

    var zoopin = MKPointAnnotation()
    zoopin.coordinate = zoo
    zoopin.title = "The zoo"
    zoopin.subtitle = "hello this is the zoo"
    mapView.addAnnotation(zoopin)

タイトルとサブタイトルは、次を使用して情報ビュー コントローラーに渡されます。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "info") {
        if let annotation = sender as? MKAnnotationView {
            let detailViewController = segue.destinationViewController as! info
            detailViewController.titleText  = annotation.annotation?.title ?? ""
            detailViewController.detaileText = annotation.annotation?.subtitle ?? ""

        }
    }
}
4

1 に答える 1

1

独自の注釈、新しいファイルまたはクラスを作成する

import MapKit

class MyAnnotation: NSObject, MKAnnotation {
    var coordinate: CLLocationCoordinate2D
    var EXTRA_INFORMATION: String?
    var title: String?

    init(coordinate: CLLocationCoordinate2D) {
        self.coordinate = coordinate
    }
}

通常の MKPointAnnotation の代わりに使用します

var zoopin = MyAnnotation()
zoopin.coordinate = zoo
zoopin.title = "The zoo"
zoopin.subtitle = "hello this is the zoo"
zoopin.EXTRA_INFORMATION = "that is your new extra info that you wanted to add?"
mapView.addAnnotation(zoopin)
于 2016-08-02T09:19:37.870 に答える