Проверьте, видно ли местоположение пользователя на карте iphone

Я хочу скрыть или показать, что текущее местоположение пользователя погоды UIButton видно на карте. При тестировании кода xcode я вижу сообщение "User location view is NOT visible but should be. Showing...." на консоли в методе «didUpdateLocation», если местоположение пользователя не видно на карте. Как я могу использовать это сообщение для генерации событий в моем случае, чтобы скрыть или показать UIButton? Спасибо за любую помощь заранее.


person alekhine    schedule 06.09.2011    source источник


Ответы (3)


Если вы хотите знать, содержится ли местоположение пользователя в отображаемом в данный момент регионе карты, вы можете проверить свойство userLocationVisible в методе делегата regionDidChangeAnimated:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    someButton.hidden = !mapView.userLocationVisible;
}

Если вы просто хотите знать, имеет ли текущее местоположение пользователя значение (видно ли оно или нет, и включено ли значение showUserLocation), то:

if (mapView.userLocation.location == nil)
    NSLog(@"user location not obtained yet");
else
    NSLog(@"user location available (may or may not be currently visible)"):
person Community    schedule 06.09.2011

Существует свойство userLocationVisible.

В документах Apple

Логическое значение, указывающее, отображается ли текущее местоположение устройства в представлении карты. (только для чтения)

person ipraba    schedule 06.09.2011

если местоположение пользователя не видно, вы не получите текущую широту, долготу. поставьте условие если lat ,long == 0. то кнопка скроется или покажется. он работает только на устройстве (gps)

person Ron    schedule 06.09.2011