Как получить центр карты MKMapView?

У меня есть MKMapView, который позволяет пользователю прокручивать карту вокруг. Позже, я хочу получить широту и долготу точки в центре карты, но не могу найти простой способ сделать это. В данный момент я пробую что-то как:

CLLocationCoordinate2D centre = [locationMap convertPoint:locationMap.center toCoordinateFromView:locationMap];
txtLatitude.text = [NSString stringWithFormat:@"%f",centre.latitude];
txtLongitude.text = [NSString stringWithFormat:@"%f",centre.longitude];

Но это не работает - и широта и долгота, оба выходят как нуль. Я был бы благодарен за любые идеи, которые любой мог бы иметь!

==============

- Обновление 1--

О. Если я добавляю:

NSLog(@"%@", locationMap);

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

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

IBOutlet MKMapView *locationMap;

@property (nonatomic, retain) IBOutlet MKMapView *locationMap;

и следующее в моем файле методов:

@synthesize locationMap;

Это компилирует без любых предупреждений или ошибок в настоящее время. Запуск задаться вопросом, пропустил ли я что-то очевидное?

16
задан Haydn 3 July 2010 в 05:56
поделиться

1 ответ

Что насчет свойства centerCoordinate?

т.е.

CLLocationCoordinate2D centre = [locationMap centerCoordinate];

Если свойство centerCoordindate равно 0, проверьте, что у вас есть правильный указатель locationMap - objective-c позволит вам отправлять сообщения на nil без ошибок!

Попробуйте NSLog(@"%@", locationMap); - если это выведет nil, вы, вероятно, забыли подключить mapLocation к MKMapView в Interface Builder ;)

46
ответ дан 30 November 2019 в 15:56
поделиться