In my iPhone app, I have the following logic:
Start CLLocationManger (the user can supply accuracy and distance filters parameters to locationmanager, since best accuracy is not required in my case, 100-300 meters will do fine, and I'd like to save battery on this).
After GPS fix is obtained by LocationManager (and only if this fix is obtained), I create and display the map. Both CLLocationManager and MKmapView are part of the same ViewController. To show the current location, I set mapView.showsUserLocation:YES, to display the blue dot. The locationManager I started still keeps working, getting GPS updates.
Apple documentation says this on MKMapView showsUserLocation:
Setting this property to YES causes the map view to use the Core Location framework to find the current location. As long as this property is YES, the map view continues to track the user’s location and update it periodically.
There's no word on which accuracy, or distance filter it is using for MKMapView's current location. It looks to me that at this point, I have both locationManager I started myself and mapView's own locationManager both updating locations!
Remember, I wanted to save some battery, by setting accuracy and distance filter? Are these parameters going to be respected by mapView's locationManager?
Also, are these two location managers going to be in sync one with another? I update the map to center it with new GPS coordinates my original locationManager gets. But I also want the blue dot to be visible in the center of the map. Will it be updated as well, each time, since I have mapView's showsUserLocation set to TRUE?
I would appreciate anyone who has clues about this.