[英]Can't set map region in iPad app
我有一個 iPad 應用程序,它具有在 MKMapView 中顯示區域以及用戶位置的功能。 這曾經工作得很好,但現在無論我將其設置為什么,它總是將整個美國顯示為區域。 然而,它確實正確地顯示了用戶的位置。
設置區域的代碼是...
MKCoordinateSpan span = {.latitudeDelta = latSpan, .longitudeDelta = longSpan};
MKCoordinateRegion mapRegion = {center, span};
[self.mapView setRegion:mapRegion];
這些變量的值是...
center = {latitude = 37.525553000000002, longitude = -121.9351005}
latSpan = 0.0029800000000008708
longSpan = 0.011071000000001163
我已經仔細檢查過,中心正是我想要的位置,但是我為其中任何一個設置什么值並不重要,我總是把整個美國作為區域。
任何想法發生了什么變化或我忽略了什么?
我真的很感激任何幫助,因為這讓我發瘋......
如果用戶未提供授權,MapKit 將無法放大用戶的位置。
結果可以是僅顯示美國的顯示。
請求許可使用:
let locationManager = CLLocationManager()
locationManager.requestWhenInUseAuthorization()
NSLocationWhenInUseUsageDescription
密鑰NSLocationWhenInUseUsageDescription
添加到目標的 Info.plist。 該類型是一個字符串,並在授權請求期間向用戶顯示。
不要過分強調這一點:你在撒謊。 我用你的價值觀運行了你的代碼,它工作得很好:
此應用程序的代碼完全由您的值和代碼組成:
#import "ViewController.h"
@import MapKit;
@interface ViewController ()
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
CLLocationCoordinate2D center = {37.525553000000002, -121.9351005};
double latSpan = 0.0029800000000008708;
double longSpan = 0.011071000000001163;
MKCoordinateSpan span = {.latitudeDelta = latSpan, .longitudeDelta = longSpan};
MKCoordinateRegion mapRegion = {center, span};
[self.mapView setRegion:mapRegion];
}
@end
很明顯,你沒有說實話; 你遺漏了一些關於你正在做的重要事情,因為當我按照你說的做時,我得到了正確的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.