I have an application with map and want to zoom to the current location, when it's updated.
I use -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
delegate method to know when user location was updated.
Now on simulator method is being called as it should. But when i test it on device (iphone 2g) the location is updated on map, but "didUpdateUserLocation" method is not being called at all, same for delegate method "mapViewWillStartLocatingUser".
The system asks if I allow to get my location for ap开发者_如何转开发p and starts showing my location, but
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
NSLog(@"didUpdateUserLocation = '%@'", userLocation);
}
is never called.
Reference mentions that this delegate method is available since iOS 4.0. Your simulator is most probably running iOS 4.0 while your phone - iOS 3.1.
I'm having the same problem and still looking for solution. Perhaps accessing CL methods directly will help.
try this Map.showsUserLocation=YES;
精彩评论