从iOS5之后MKReverseGeocoder成为了不推荐使用的类。因此有一个新的类取代了他的作用,那就是CLGeocoder类,使用该类进行反向解析也非常容易。
现在就CLGeocoder类来写一个地图定位并添加一个小标注。
1、首先,建立一个普通的view工程,添加CoreLocation.framework和MapKit.framework.导入头文件
2、然后定义一个MKMapView,和一个UIActivityIndicatorView指示器和一个findMe的方法,进行相应的@synthesize操作和release,实现<CLLocationManagerDelegate,MKMapViewDelegate>协议
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
@interface ViewController : UIViewController <CLLocationManagerDelegate,MKMapViewDelegate>
{
MKMapView *mapView;
UIActivityIndicatorView *indicator;
}
@property (nonatomic,retain) MKMapView *mapView;
@property (nonatomic,retain) UIActivityIndicatorView *indicator;
-(void)fineMe;
@end
3、ViewDidLoad中加载控件,这样就可以显示地图咯,不过这样仅仅只能现实地图而已,没有什么实际的功能
- (void)viewDidLoad
{
[super viewDidLoad];
mapView=[[MKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 410)];
mapView.mapType=MKMapTypeStandard;
mapView.delegate=self;//实现代理方法
indicator=[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(10, 420, 30, 30)];
[indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[indicator setHidesWhenStopped:YES];
UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame=CGRectMake(230, 410, 80, 40);
[button setTitle:@"FineMe" forState:UIControlStateNormal];
[button addTarget:self action: