MKMapView userLocation показывает 0,0 в симуляторе? - PullRequest
11 голосов
/ 08 марта 2012

У меня есть выход mapView на моем виде (MKMapViewDelegate) с включенным «Показывает местоположение пользователя».

В viewdidload для этого контроллера у меня есть

CLLocation *userLoc = mapView.userLocation.location;
CLLocationCoordinate2D userCoordinate = userLoc.coordinate;
NSLog(@"user latitude = %f",userCoordinate.latitude);
NSLog(@"user longitude = %f",userCoordinate.longitude); 
mapView.delegate=self;

Симулятор показывает правильное местоположение пользователя на карте (я использую пользовательское местоположение в IOS Simulator)

Но NSLog показывает 0 и 0 для широты и долготы.

Разве я не смогу получить пользовательские значения долготы и широты в симуляторе?

ОБНОВЛЕНИЕ С ОТВЕТОМ:

Необходим для реализации

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    self.mapView.centerCoordinate = userLocation.location.coordinate;
} 

Ответы [ 3 ]

13 голосов
/ 08 марта 2012

Услуги определения местоположения не являются мгновенными.Ваш код находится в viewDidLoad, поэтому у него еще не было возможности исправить вашу позицию.Вы должны установить свойство delegate для вида карты для объекта, который реализует протокол MKMapViewDelegate.

1 голос
/ 16 апреля 2014

Мне нужно было установить местоположение в симуляторе, через Debug> Location.Для него было установлено значение «Нет», которое выбрасывало меня в точке (0 °, 0 °) и никогда не обновлялось;Вы можете установить пользовательское местоположение или выбрать другой сценарий имитации местоположения, который автоматически перемещает местоположение пользователя с течением времени.

0 голосов
/ 28 сентября 2012
MKMapView *mapview=[[MKMapView alloc]initWithFrame:CGRectMake(0,0,300, 364)];
mapview.delegate=self;
mapview.showsUserLocation=YES;

Который затем вызовет делегат mapkit, в делегате mak kit попробуйте распечатать координаты.NSLog (@ "user latitude =% f", userLocation.location.coordinate.latitude);NSLog (@ "user longitude =% f", userLocation.location.coordinate.longitude);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...