您的位置:首页 > 其它

苹果地图使用之MKMapView定位显示

2017-01-06 21:33 549 查看
#import <MapKit/MapKit.h>

#define kScreenWidht  [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height

@interface ViewController () <MKMapViewDelegate>

@property (nonatomic, strong) MKMapView *mapView;
@property (nonatomic, strong) CLLocationManager *locationManager;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

_mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
_mapView.delegate = self;
[_mapView setUserTrackingMode:MKUserTrackingModeFollow];
[self.view addSubview:_mapView];

_locationManager = [[CLLocationManager alloc] init];
[_locationManager requestAlwaysAuthorization];

CLLocationCoordinate2D coordinate = {30.26667, 120.20000};
[_mapView setCenterCoordinate:coordinate animated:YES];

// 定位按钮
UIButton *resetLocationBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, kScreenHeight - 45, 30, 35)];
[resetLocationBtn setBackgroundImage:[UIImage imageNamed:@"location.jpg"] forState:UIControlStateNormal];
[resetLocationBtn addTarget:self action:@selector(resetLocation:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:resetLocationBtn];
}

#pragma mark - MKMapViewDelegate
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
// 位置发生变化调用
NSLog(@"lan = %f, long = %f", userLocation.coordinate.latitude, userLocation.coordinate.longitude);
}

- (void)resetLocation:(id)sender {
// 定位到我的位置
[_mapView setCenterCoordinate:_mapView.userLocation.coordinate animated:YES];
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: