I am trying to query an array of PFGeoPoints stored on the Parse backend. I have a PFObject in Parse called "Post", with data assigned to it such as "location", "title", "message", etc.
everything is being sent to Parse upon posting from my app and is properly stored in the backend. I am having issues retrieving properties of the "Post" PFObject from Parse and storing them into an MKAnnotation on the map.
Here is my MapViewViewController:
import UIKit
import Parse
import CoreLocation
import MapKit
class MapViewViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
@IBOutlet var mapView: MKMapView!
var MapViewLocationManager:CLLocationManager! = CLLocationManager()
var currentLoc: PFGeoPoint! = PFGeoPoint()
var postTitle: String!
var postBody: String!
override func viewDidLoad() {
super.viewDidLoad()
mapView.showsUserLocation = true
mapView.delegate = self
MapViewLocationManager.delegate = self
MapViewLocationManager.startUpdatingLocation()
mapView.setUserTrackingMode(MKUserTrackingMode.Follow, animated: true)
}
override func viewDidAppear(animated: Bool) {
var annotationQuery = PFQuery(className: "Post")
currentLoc = PFGeoPoint(location: MapViewLocationManager.location)
annotationQuery.whereKey("Location", nearGeoPoint: currentLoc, withinMiles: 10)
annotationQuery.findObjectsInBackgroundWithBlock {
(points, error) -> Void in
if error == nil {
// The find succeeded.
println("Successful query for annotations")
// Do something with the found objects
//THIS IS WHERE I GET LOST WITH THE PARSE QUERY/ADDING ANNOTATION TO MAP
//THE FOLLOWING CODE PRINTS THE CORRECT POSTCOUNT STORED IN PARSE
println("total posts: \(points?.count)")
} else {
// Log details of the failure
println("Error: \(error)")
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func logoutButton(sender: UIBarButtonItem) {
PFUser.logOut()
dismissViewControllerAnimated(true, completion: nil)
}
@IBAction func newPostButton(sender: AnyObject) {
performSegueWithIdentifier("mainToNewPost", sender: self)
}
I would like to query and retrieve the Post with all of its info entered by the user (PFGeoPoint, title, body) and turn it into an mkannotation on the map.
Here is a photo of my Parse backend to give you a better idea:
http://i1249.photobucket.com/albums/hh512/zachkhan3/Screen%20Shot%202015-04-22%20at%2012.39.42%20PM.png