如何获取MKMapView地图的中心?

19

我有一个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个回答

50

centerCoordinate属性怎么样?

即:

CLLocationCoordinate2D centre = [locationMap centerCoordinate];
如果centerCoordindate属性全部为0,则检查是否有有效的locationMap指针 - objective-c允许您向nil发送消息而不会出现任何错误!
尝试NSLog(%@,locationMap); - 如果输出为nil,则可能忘记在Interface Builder中将mapLocation连接到MKMapView ;)

locationMap是一个有效的指针吗?NSLog(@"%@", locationMap); 会输出什么? - deanWombourne
1
你在接口构建器中连接了locationMap吗?它不会自动知道你想将xib中的地图连接到locationMap属性! - deanWombourne
我确实完全忘记做那件事了!告诉过你这肯定是个显而易见的问题 - 谢谢! - Haydn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接