核心位置,MapKit 错误

Posted

技术标签:

【中文标题】核心位置,MapKit 错误【英文标题】:CoreLocation , MapKit Error 【发布时间】:2012-10-22 12:09:20 【问题描述】:

我试图在 Mapkit 中显示我当前的位置,这是代码

- (void)viewDidLoad

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //Make this controller the delegate for the map view.
    self.MapView.delegate = self;     

    // Ensure that you can view your own location in the map view.
    [self.MapView setShowsUserLocation:YES];
    locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDistanceFilter:kCLDistanceFilterNone];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

我写了这个 Mapkit 的代表

#pragma mark - MKMapViewDelegate methods. 
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views     
    MKCoordinateRegion region;
    region = MKCoordinateRegionMakeWithDistance(locationManager.location.coordinate,2000,2000);


    [mv setRegion:region animated:YES];

但我在埃及的位置弄错了,这给了我在美国的位置 任何人都可以帮助我???

【问题讨论】:

【参考方案1】:

以防万一:如果您使用的是模拟器,则该位置将不是您的真实位置。您必须在模拟器中设置您的位置: 调试 -> 位置 -> 自定义位置(或其他任何东西)

【讨论】:

您必须输入您所在位置的经纬度。所以,启动模拟器,去调试 -> 位置 -> 自定义位置并将其设置为 30.2, 31.5 非常感谢 Nicholas :) 我做了这个,它在地图上显示埃及,但不显示当前位置 是的,我做到了。但是由于您只需要一次信息,因此通过在地图实验室中打开 LatLng-Shortinfo 更容易在谷歌地图上查找它。否则,在 iPhone 上运行您的应用并从中获取正确的位置。【参考方案2】:

首先。

你没用过

[locationManager startUpdatingLocation];

请在启动位置管理器变量后添加此行。如果您在模拟器中看到这个位置美国,也请告诉我。

如果是:您的模拟器会模拟用户偏好给出的位置。进入模拟器窗口,您将获得根据您的选择显示自定义位置的选项。默认选择美国。

希望它能解决您的问题。

【讨论】:

我找不到用户偏好?我在哪里可以罚款? 运行项目时,调试窗口顶部有一个方向键类型的按钮,您也可以将其用于自定义位置。 iPhone模拟器中也有选项,Debug>Location选项。

以上是关于核心位置,MapKit 错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS核心笔记—MapKit框架-导航

MapKit 中的中心位置在 UiLabel 中不可见

如何使用 Mapkit (Swift) 去用户位置

Swift Mapkit - 远离用户位置

在给定坐标附近,在 Swift、MapKit 和核心定位中打印 hello

iOS核心笔记—MapKit框架-基础