У меня есть MKMapView, который позволяет пользователю прокручивать карту вокруг. Позже, я хочу получить широту и долготу точки в центре карты, но не могу найти простой способ сделать это. В данный момент я пробую что-то как:
CLLocationCoordinate2D centre = [locationMap convertPoint:locationMap.center toCoordinateFromView:locationMap];
txtLatitude.text = [NSString stringWithFormat:@"%f",centre.latitude];
txtLongitude.text = [NSString stringWithFormat:@"%f",centre.longitude];
Но это не работает - и широта и долгота, оба выходят как нуль. Я был бы благодарен за любые идеи, которые любой мог бы иметь!
==============
О. Если я добавляю:
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;
Это компилирует без любых предупреждений или ошибок в настоящее время. Запуск задаться вопросом, пропустил ли я что-то очевидное?
Что насчет свойства centerCoordinate?
т.е.
CLLocationCoordinate2D centre = [locationMap centerCoordinate];
Если свойство centerCoordindate
равно 0, проверьте, что у вас есть правильный указатель locationMap - objective-c позволит вам отправлять сообщения на nil без ошибок!
Попробуйте NSLog(@"%@", locationMap);
- если это выведет nil, вы, вероятно, забыли подключить mapLocation к MKMapView в Interface Builder ;)