0

我正在尝试从 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 没有名为下标的成员”这是什么意思,我该如何解决?请帮忙。谢谢!

4

1 回答 1

1

您似乎对几点感到困惑。

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

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

于 2015-07-03T06:49:22.170 回答