答案 0 :(得分:1)
我通过添加CLLocationManager解决了类似的问题:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
// Check for iOS 8. Without this guard, the code will crash with "unknown selector" on iOS 7.
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
答案 1 :(得分:0)
您似乎正在尝试显示用户的位置。对于您尝试显示的区域,跨度数据似乎是正确的。
在这种情况下,在MapKit能够显示位置之前,需要用户授权位置服务。
如果未授权定位服务,则会显示美国地图,而不是您尝试显示的地区。
假设您有CLLocationManager
,则需要使用requestWhenInUseAuthorization
或requestAlwaysAuthorization
授权位置服务。
如果你有
self.locationManager = [CLLocationManager alloc] init];
然后你需要打电话
[self.locationManager requestWhenInUseAuthorization];
或
[self.locationManager requestAlwaysAuthorization];
这两者都要求将NSLocationAlwaysUsageDescription
的密钥添加到您应用的Info.plist
文件中。