从 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 latit
和 let longi
变量中我收到一条错误消息
"PFQuery does not have a member named subscript"
这是什么意思,我该如何解决?请帮忙。谢谢!
您似乎对几点感到困惑。
当您为查询创建地理点时,您需要指定纬度和经度。你需要从某个地方得到它们。您当前的代码创建了一个空位置。所以你需要使用位置管理器来获取当前位置/询问用户/硬编码。
调用完成块时,您应该使用返回的 objects
,而不是尝试从查询中访问某些信息。这是您当前的编译错误所在,因为查询未提供您尝试使用它的目的。 Eeach 对象有一个 Location
,你应该在你的循环中使用它,它目前只是记录。
我正在尝试从 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 latit
和 let longi
变量中我收到一条错误消息
"PFQuery does not have a member named subscript"
这是什么意思,我该如何解决?请帮忙。谢谢!
您似乎对几点感到困惑。
当您为查询创建地理点时,您需要指定纬度和经度。你需要从某个地方得到它们。您当前的代码创建了一个空位置。所以你需要使用位置管理器来获取当前位置/询问用户/硬编码。
调用完成块时,您应该使用返回的 objects
,而不是尝试从查询中访问某些信息。这是您当前的编译错误所在,因为查询未提供您尝试使用它的目的。 Eeach 对象有一个 Location
,你应该在你的循环中使用它,它目前只是记录。