MKPinAnnotation到详细视图

时间:2014-10-10 04:40:33

标签: ios xcode ios7 swift mkmapview

我有一个来自PFQuery的对象数组,然后使用以下函数在我的mapView中添加MKPinAnnotations:

func addAnnotation() {
    for (var i = 0; i < self.objectArray.count; i++) {
        var location = object.objectForKey("location") as PFGeoPoint

        var annotation = MKPointAnnotation()
        annotation.setCoordinate(CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude))
        annotation.title = object.objectForKey("title") as NSString
        var priceFormatter = NSNumberFormatter()
        self.mapView.addAnnotation(annotation)
    }
}

我希望能够点击引脚(或显示引脚被点击时的信息选项卡)并转到详细视图控制器并传递与该引脚相关的信息或该数组中的索引位置。 ..

我只需要知道如何获取敲击引脚的索引号,这样我就可以执行segue ...过去3天我一直被困在这段代码中并放弃并决定问大师:P

希望你能帮助我。

由于

1 个答案:

答案 0 :(得分:0)

为您的注释创建一个自定义类,您可以在其中存储其他信息,例如数组索引:

class PinAnnotation : NSObject, MKAnnotation {
    private var coord: CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: 0, longitude: 0)

    var coordinate: CLLocationCoordinate2D {
        get {
            return coord
        }
    }

    var title: String = ""
    var subtitle: String = ""
    var index: Int = 0

    func setCoordinate(newCoordinate: CLLocationCoordinate2D) {
        self.coord = newCoordinate
    }        
}

稍后在代码中可以设置数组索引:

func addAnnotation() {
    for (var i = 0; i < self.objectArray.count; i++) {
        var location = object.objectForKey("location") as PFGeoPoint

        var annotation = PinAnnotation()
        annotation.setCoordinate(CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude))
        annotation.title = object.objectForKey("title") as NSString
        annotation.index = i
        var priceFormatter = NSNumberFormatter()
        self.mapView.addAnnotation(annotation)
    }
}

使用注释对象时,您可以访问所有属性

相关问题