我有一个mkmappview,它允许用户滚动地图。后来,我想得到地图中心点的经纬度,但找不到简单的方法。目前我正在尝试类似的方法:

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

但它不起作用-纬度和经度都是0。我很感激任何人的想法!
==============
--更新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;

这是编译没有任何警告或错误目前。开始怀疑我是否遗漏了一些显而易见的东西?

最佳答案

centerCoordinate属性如何?

CLLocationCoordinate2D centre = [locationMap centerCoordinate];

如果centerCoordindate属性都是0,请检查您是否有一个有效的locationmap指针-objective-c将允许您将消息发送到nil而不出现任何错误!
尝试NSLog(@"%@", locationMap);-如果输出为nil,您可能忘记将映射位置连接到接口生成器中的mkmappview;)

08-05 21:50