iOS MapView显示整个美国

时间:2015-10-10 02:01:45

标签: ios xcode ipad mapkit

我试图在MapView中加载一个区域,但我总能看到整个美国。这是一个以横向模式运行的iPad应用程序。我认为跨度可能不是合适的尺寸,但我不确定如何解决它。这是我的数据。有什么想法吗?

...谢谢enter image description here

2 个答案:

答案 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,则需要使用requestWhenInUseAuthorizationrequestAlwaysAuthorization授权位置服务。

如果你有

self.locationManager = [CLLocationManager alloc] init];

然后你需要打电话

[self.locationManager requestWhenInUseAuthorization];

[self.locationManager requestAlwaysAuthorization];

这两者都要求将NSLocationAlwaysUsageDescription的密钥添加到您应用的Info.plist文件中。