#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
苹果地图使用之MKMapView定位显示
最新推荐文章于 2021-03-31 17:15:48 发布
本文介绍了一个iOS应用中集成地图功能的方法。使用MapKit框架展示地图,并通过CLLocationManager获取用户当前位置,实现用户跟踪模式。此外,还实现了点击按钮重置地图中心坐标到用户当前位置的功能。
6565

被折叠的 条评论
为什么被折叠?



