Если вы хотите узнать, содержится ли местоположение пользователя в отображаемой в данный момент области карты, вы можете проверить свойство userLocationVisible
в методе делегата regionDidChangeAnimated
:
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
someButton.hidden = !mapView.userLocationVisible;
}
Если вы просто хотите узнать, имеет ли текущее местоположение пользователя значение (видимое оно или нет, а также показывает или нет показывает, что пользовательский интерфейс включен), то:
if (mapView.userLocation.location == nil)
NSLog(@"user location not obtained yet");
else
NSLog(@"user location available (may or may not be currently visible)"):