【问题标题】:Swift MapKit - add (extra)attribut to annotation?Swift MapKit - 为注释添加(额外)属性?
【发布时间】:2016-01-13 01:05:14
【问题描述】:

我做了this MapKit-Tutorial

一切正常,但如何为我的 pin 添加额外的属性?

这是我的课车:

import Foundation
import MapKit

class Car: NSObject, MKAnnotation {

let title: String
let subtitle: String
let thirdAttribut: String
let coordinate: CLLocationCoordinate2D

init(title: String, subtitle: String, thirdAttribut: String, coordinate: CLLocationCoordinate2D) {
    self.title = title
    self.subtitle = subtitle
    self.thirdAttribut = thirdAttribut
    self.coordinate = coordinate

    super.init()
}


var getTitle: String {
    return title
}

var getSubtitle: String {
    return subtitle
}

var getThirdAttribut: String {
    return thirdAttribut
}

我想点击一个图钉并使用这个“thirdAttribut”。 我的主班:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    mapView.delegate = self
    let car = Car(title: "Title", subtitle: "Subtitle", thirdAttribut: "ThirdAttribut", coordinate: CLLocationCoordinate2D(latitude: 50.906849, longitude: 7.524224) )
    mapView.addAnnotation(car)

    }


func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
  //some config stuff
}



    func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!) {
    print("Here Comes the Click")

    print(view.annotation.title)
    print(view.annotation.subtitle)
    //view.annotation.thirdAttribut doesn't existis
    //How get I my "thirdAttribut"-Attribut?

    }

第三个属性不能出现在我的视图中。它只包含一些用于逻辑操作的数据。

我希望你能理解我,英语不是我的母语。

如果你知道其他方法来编写我想要的代码,请告诉我。 :)

谢谢你!

【问题讨论】:

    标签: swift annotations mapkit


    【解决方案1】:

    注解视图包含注解属性。要获得第三个属性,您需要将 MKAnnotation 强制转换为您创建的遵循 MKAnnotation 协议的类 Car。

    if let carAnnotation = view.annotation as? Car{
        print(carAnnotation.thirdAttrib);
    }
    

    【讨论】:

    • 这么简单-.- 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2012-09-17
    • 2017-08-18
    • 1970-01-01
    相关资源
    最近更新 更多