如何获得MKMapView地图的中心?

时间:2010-07-01 23:02:22

标签: iphone objective-c 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);

如下所示,日志显示“(null)”。我的标题(以及其他内容)中有以下内容:

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

IBOutlet MKMapView *locationMap;

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

以及我的方法文件中的以下内容:

@synthesize locationMap;

目前正在编译时没有任何警告或错误。开始怀疑我是否错过了一些明显的东西?

1 个答案:

答案 0 :(得分:46)

centerCoordinate属性怎么样?

CLLocationCoordinate2D centre = [locationMap centerCoordinate];

如果centerCoordindate属性全为0,请检查您是否有一个有效的locationMap指针 - objective-c将允许您将消息发送到nil而不会出现任何错误!

尝试NSLog(@"%@", locationMap); - 如果输出为nil,您可能忘记将mapLocation连接到Interface Builder中的MKMapView;)