firebase / firebase/geofire-objc

Query.observe doesn't seem to fire

Open
#146 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Objective-C
Stars
447
Forks
183
PR merge metrics
No merged PRs in 30d

Description

I'm not quite sure what is going on, so I would appreciate any recommendations. I am trying to update businesses to the screen as the user walks down the street (through the emulator). The businesses appear as the user is in close proximity, but the exit query doesn't seem to fire when the markers are out of proximity. I'm not sure why this is the case. Also, if you have any recommendations for what I should do I would appreciate it.

`
let geofireRef = Database.database().reference()
let geoFire: GeoFire

var businessAnno = [String:MKAnnotation]()

var annotations = [MKAnnotation]()

init(_ control: MapView) {
self.control = control
self.center = control.center
self.geoFire = GeoFire(firebaseRef: geofireRef.child("business_locations"))
}

func mapView(_ mapView: MKMapView, didUpdate userLocation: MKUserLocation) {
setupListener(mapView)
}

func setupListener(_ mapView: MKMapView){

let query = geoFire.query(with: MKCoordinateRegion(center: center.coordinate, latitudinalMeters: 250,
### ### **longitudinalMeters:** 250))

query.observe(.keyEntered, with: { (key: String!, location: CLLocation!) in
print("Enter: \(key!)")
let annotation = MKPointAnnotation()

annotation.title = key
annotation.coordinate = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude:
location.coordinate.longitude)

annotations.append(annotation)
mapView.addAnnotation(annotation)


query.observe(.keyExited, with: { (key: String!, location: CLLocation!) in
print("Exit: \(key!)")

query.observeReady {
self.annotations.append(contentsOf: annotations)
}
}
}
`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.