MKMapView в iOS 7

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

Ну, моя проблема в том, что.userTrackingMode не будет работать в iOS7. Искал ответ, но не нашел.

Я хочу показать местоположение пользователя, он отлично работает с.showsUserLocation. Но когда я хочу отследить его, он просто игнорирует это. У кого-нибудь есть решение?

Вот как я написал это в iOS 5:

mMapView.showsUserLocation = YES;

mMapView.userTrackingMode = YES;

mMapView.userInteractionEnabled = NO;

И что я знаю, что не было никаких изменений с кодом в обновлении.

РЕДАКТИРОВАТЬ:

Не знаю почему, но я использовал [self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES]; внутри метода, который меняет метку каждый раз, когда меняется местоположение. Тогда это работает.

Не знаю, почему это не работает, когда я объявляю это в viewDidLoad...?

1 ответ

Решение

Welp, в документации Apple для MKMapView, ".userTrackingMode " это не БУЛА, а вместо этого"enumСвойство (целое):

typedef enum : NSInteger {
   MKUserTrackingModeNone = 0,
   MKUserTrackingModeFollow,
   MKUserTrackingModeFollowWithHeading,
} MKUserTrackingMode;

Может быть, вы устанавливаете это неправильно, может быть частью проблемы?

Кроме того, лучший способ установить это через этот API:

- (void)setUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated (Я связал документацию Apple для вас). Там полезноеanimatedаргумент есть.

Другие вопросы по тегам