MKPinAnnotation 到详细视图

Posted

技术标签:

【中文标题】MKPinAnnotation 到详细视图【英文标题】:MKPinAnnotation to Detailed view 【发布时间】:2014-10-10 04:40:33 【问题描述】:

我有一个来自 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】:

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

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)
    

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

【讨论】:

成功了!这是一个如此简单的解决方案,但我想不出,我真的很感激!谢谢!

以上是关于MKPinAnnotation 到详细视图的主要内容,如果未能解决你的问题,请参考以下文章

装饰 MKPinAnnotation

在 MKMapVIew 中像 MKPinAnnotation 一样绘制 Pin 查看 Pin

如何设置 MKPinAnnotation 使图像底部指向位置而不是图像中心

python [papers-anno2md] macOS Papers.app脚本:将论文PDF注释转换为Markdown注释并添加到常规注释部分

mapView calloutAccessoryControlTapped,怎么知道是谁发起的?

mybatis-基于anno的crud