我在Swift工作。
在我的Parse后端,我有一个称为位置的键,其中有许多geoPoint值,它们是纬度和经度点。我想查询/获取所有这些点并将它们放入一个数组中,这样我就可以将它们用作地图上的不同注释。
我无法查询位置,以便可以将它们用作地图的CLLocation。
如果有人能帮我这样做,我们将不胜感激。
答案 0 :(得分:4)
您可以将变量创建为PFGeoPoint,并且可以将数据从解析中放入此变量中:
var descLocation: PFGeoPoint = PFGeoPoint()
var innerP1 = NSPredicate(format: "ObjectID = %@", objectID)
var innerQ1:PFQuery = PFQuery(className: "Test", predicate: innerP1)
var query = PFQuery.orQueryWithSubqueries([innerQ1])
query.addAscendingOrder("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
for object in objects {
descLocation = object["GeoPoint"] as PFGeoPoint
}
} else {
println("Error")
}
}
在您需要该位置的班级中,只需添加以下行:
var latitude: CLLocationDegrees = descLocation.latitude
var longtitude: CLLocationDegrees = descLocation.longitude
var location: CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: latitude, longitude: longtitude)
因此,您可以使用以下代码向地图添加注释:
@IBOutlet var map: MKMapView!
var annotation = MKPointAnnotation()
annotation.title = "Test"
annotation.coordinate = location
map.addAnnotation(annotation)