从 Parse 获取 PFGeoPoint 以创建点注释

Getting a PFGeoPoint from Parse to create a point annotation

我正在尝试从 Parse 中获取保存的 GeoPoints,以便创建可以在地图视图中查看的点注释。这是我当前的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    var query = PFQuery(className:"SpotInfo")
    query.whereKey("Location", equalTo: PFGeoPoint() )
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void In
        if error == nil {
            println("Succesfully retrieved objects.")
            if let objects = objects as? [PFObjects] {
                for object in objects {
                    println(objects.objectId)
                }
            }
        } else {
            println("Error: \(error!)(error!.userInfo!)")
        }
        let latit = query["Location"].latitude as Double
        let longi = query["Location"].longitude as Double
        let SpotLoc = CLLocationCoordinate2DMake(latit, longi)
        let Spot = MKPointAnnotation()
        Spot.coordinate = SpotLoc
        Spot.title = "Spot"
        Spot.subtitle = "Time"
        Map.addAnnotation(Spot)
    }
}

let latitlet longi 变量中我收到一条错误消息 "PFQuery does not have a member named subscript" 这是什么意思,我该如何解决?请帮忙。谢谢!

您似乎对几点感到困惑。

当您为查询创建地理点时,您需要指定纬度和经度。你需要从某个地方得到它们。您当前的代码创建了一个空位置。所以你需要使用位置管理器来获取当前位置/询问用户/硬编码。

调用完成块时,您应该使用返回的 objects,而不是尝试从查询中访问某些信息。这是您当前的编译错误所在,因为查询未提供您尝试使用它的目的。 Eeach 对象有一个 Location,你应该在你的循环中使用它,它目前只是记录。