我有一个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);
如下所示,日志显示“(null)”。我的标题(以及其他内容)中有以下内容:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
IBOutlet MKMapView *locationMap;
@property (nonatomic, retain) IBOutlet MKMapView *locationMap;
以及我的方法文件中的以下内容:
@synthesize locationMap;
目前正在编译时没有任何警告或错误。开始怀疑我是否错过了一些明显的东西?
答案 0 :(得分:46)
centerCoordinate属性怎么样?
即
CLLocationCoordinate2D centre = [locationMap centerCoordinate];
如果centerCoordindate
属性全为0,请检查您是否有一个有效的locationMap指针 - objective-c将允许您将消息发送到nil而不会出现任何错误!
尝试NSLog(@"%@", locationMap);
- 如果输出为nil,您可能忘记将mapLocation连接到Interface Builder中的MKMapView;)