Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 模拟器中的核心定位问题_Iphone_Objective C_Ios_Mapkit_Core Location - Fatal编程技术网

Iphone 模拟器中的核心定位问题

Iphone 模拟器中的核心定位问题,iphone,objective-c,ios,mapkit,core-location,Iphone,Objective C,Ios,Mapkit,Core Location,我无法在iphone模拟器中获取当前位置。我将“自定义位置”设置为“纬度”,将“经度”设置为“埃及”,但没有获取当前位置 - (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. se

我无法在iphone模拟器中获取当前位置。我将“自定义位置”设置为“纬度”,将“经度”设置为“埃及”,但没有获取当前位置

- (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];



    //Instantiate a location object.
    locationManager = [[CLLocationManager alloc] init];
    [locationManager startUpdatingLocation];

    //Make this controller the delegate for the location manager.
    [locationManager setDelegate:self];

    //Set some parameters for the location object.
    [locationManager setDistanceFilter:kCLDistanceFilterNone];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
}
这位是代表:

#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];
}

请任何人帮助我。

您必须首先确保您的CLLocationManager将其位置更新为您的位置。为此,请将视图控制器设置为CLLocationManager的委托(您已经这样做了),然后保存此位置。完成所有设置后,尝试调用
startupdatatinglocation
,并将
showsUserLocation
设置为
YES

- (void)locationManager:(CLLocationManager *)manager

     didUpdateLocations:(NSArray *)locations {

    // If it's a relatively recent event, turn off updates to save power

    CLLocation* myLocation = [locations lastObject];
}

确保您正在iOS模拟器版本>=5.1上测试此功能,您必须首先确保您的CLLocationManager将其位置更新为您的位置。为此,请将视图控制器设置为CLLocationManager的委托(您已经这样做了),然后保存此位置。完成所有设置后,尝试调用
startupdatatinglocation
,并将
showsUserLocation
设置为
YES

- (void)locationManager:(CLLocationManager *)manager

     didUpdateLocations:(NSArray *)locations {

    // If it's a relatively recent event, turn off updates to save power

    CLLocation* myLocation = [locations lastObject];
}

确保您正在iOS模拟器版本>=5.1上测试此功能,到底是什么问题?没有获得您应该拥有的用户位置,或者没有将地图区域移动到正确的位置

如果是第一个问题,则主要是工具问题,而不是代码问题:

如果您的位置在项目中的gpx文件中,您应该能够通过编辑Scheme/Options/Allow location Simulation/并选择默认位置来开始

您的项目中应该有一个DemoStart.gpx文件,该文件如下所示:

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
    <wpt lat="20.88072" lon="10.67429">
        <name>Demo Starting Location</name>
    </wpt>
</gpx>

演示开始位置

(对不起,我太懒了,找不到埃及的精确坐标)。

到底是什么问题?没有获得您应该拥有的用户位置,或者没有将地图区域移动到正确的位置

如果是第一个问题,则主要是工具问题,而不是代码问题:

如果您的位置在项目中的gpx文件中,您应该能够通过编辑Scheme/Options/Allow location Simulation/并选择默认位置来开始

您的项目中应该有一个DemoStart.gpx文件,该文件如下所示:

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
    <wpt lat="20.88072" lon="10.67429">
        <name>Demo Starting Location</name>
    </wpt>
</gpx>

演示开始位置

(抱歉,我懒得找到埃及的精确坐标)。

我的iPhone模拟器5.0版在哪里可以找到此窗口?在Xcode(不是模拟器)中,您可以通过单击窗口左上角的两部分下拉列表来编辑Scheme。或者,您可以按屏幕底部附近的位置服务图标(跳过、进入、退出旁边的箭头)my iPhone Simulator version 5.0在哪里可以找到此窗口?在Xcode(不是模拟器)中,您可以通过单击窗口左上角的两部分下拉列表来编辑方案。或者,您可以按屏幕底部附近的位置服务图标(跳过、跨入、跨出旁边的箭头)