Я просто смотрю на mapKit и решил сделать быструю кнопку для отображения моего текущего местоположения, однако, когда я нажимаю кнопку, моя широта/долгота всегда отображается как [0.000000] [0.000000].userLocation: latitude/longitude return zero?
MapView загружен, так как я могу видеть карту на симуляторе, прежде чем нажимать кнопку. Раньше я делал это, используя coreLocation.framework и используя CLLocationManager и запрашивая местоположение устройства таким образом. Мне просто интересно, почему этот способ работает некорректно, лучше ли мне это сделать через CLLocationManager?
-(IBAction)findMePressed {
MKUserLocation *myLocation = [myMapView userLocation];
CLLocationCoordinate2D coord = [[myLocation location] coordinate];
[myMapView setCenterCoordinate:coord animated:YES];
NSLog(@"findMePressed ...[%f][%f]", coord.latitude, coord.longitude);
}
EDIT: Добавлено ...
-(IBAction)findMePressed {
MKUserLocation *myLocation = [myMapView userLocation];
CLLocationCoordinate2D coord = [[myLocation location] coordinate];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(coord, 350, 350);
[myMapView setRegion:region animated:YES];
}
-(void)viewDidLoad {
[super viewDidLoad];
[myMapView setShowsUserLocation:YES];
}
Гэри.
Привет Дин, userLocationVisible есть [0], поэтому я думаю, что это проблема. myMapView подключен в IB, поэтому он правильно указывает на мой iVar. – fuzzygoat
То, как моя карта показывала Купертино, находилась как раз слева от дисплея. Настройка showUserLocation и создание региона сделали то, что я ожидал, высоко оценил. – fuzzygoat