我有一个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;)