我想使用MapKit
在地图上显示用户的当前位置,一切正常,但是用户的当前位置在地图上不可见。
这是我为mapView
设置的属性:
这是控制器的其余代码:
#import <MapKit/MapKit.h>
#import "ShowMarkerAndNavigateVC.h"
@interface ShowMarkerAndNavigateVC ()
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@end
CLLocationManager *mgr;
@implementation ShowMarkerAndNavigateVC
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"View loaded Successfully");
mgr = [[CLLocationManager alloc] init];
[mgr requestWhenInUseAuthorization];
NSLog(@"Reuquested always authorization");
}
- (IBAction)backButtonPressed:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
@end
答案 0 :(得分:0)
首先,我建议实际上在代码中将showsUserLocation
属性设置为YES。
第二,请注意,由您决定显示用户位置实际所在的区域;例如:
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation {
CLLocationCoordinate2D coordinate = userLocation.location.coordinate;
MKCoordinateRegion reg =
MKCoordinateRegionMakeWithDistance(coordinate, 600, 600);
mapView.region = reg;
}
答案 1 :(得分:0)
如果您使用的是模拟器,您将无法获得用户的位置,因为模拟器不知道自己的位置。
为此,请打开Simulator的 Debug 菜单,然后在*** Location *子菜单中选择 Apple 。
希望这会对您有所帮助。