I have region monitoring feature in my iOS application. I have certain locations marked as projects and when a user reaches to any of that location, GPS triggeres the Enter and Exit project events. But somtimes it works weirdly for Exit location event. Following are some observations.
For most of the regions, the radius is ~200 meters. But
didExitLocation
triggers a random location around 500 to 700 meters away from the region. The location object receieved in that call has speed -1 and accuracy around 30 to 200 meters.After few seconds of this exit event, region motoring triggers
didEnterLocation
andlocationDeterminedInside
methods again. In actual, user was inside that region only and did not move to that location. It was a jump in the location.
My question is, How can I deal with such jumps in the best way?
I have tried to monitor location speed and avoid exit calls that have speed = -1. But it is not consistent always. Sometimes speed is -1 even when user actually leave the region.