iPhone: Как включить MKUserLocation «синяя точка»? - PullRequest
0 голосов
/ 02 сентября 2010

Включение «синей точки», которая показывает текущее местоположение в моем приложении, с помощью

mapView.showsUserLocation = YES

Отключение / скрытие точки с помощью

mapView.showsUserLocation = NO

для сброса булавки.Все идет нормально.

Добавление булавки аннотации в 'userLocation' и перетаскивание ее по карте в новое место.После этого я хочу снова показать синюю точку, снова установив для параметра showsUserLocation значение YES, но оно просто не отображается!В чем может быть проблема?Есть ли способ заставить его снова показать (сбросить userLocation?) Любым другим методом?Какие события участвуют?

Благодарен за любую помощь в этом ..

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

Попробуйте это:

if ([annotation isKindOfClass:[MKUserLocation class]])  return nil;

Использование класса вместо аннотации == _ mapView.userLocation означает, что вы перестанете использовать _mapView.userLocation или что-то еще, эта строка не прерывается.

3 голосов
/ 28 декабря 2010

проверьте, настраиваете ли вы annotationView с помощью метода - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation , попробуйте:

if (annotation==_mapView.userLocation ) {
    return nil;
}
else {
    //...
    //costumizing pins for other annotations on mapview

    //return customized annotationview
}
...