Iphone 模拟器中的核心定位问题
我无法在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
- (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(不是模拟器)中,您可以通过单击窗口左上角的两部分下拉列表来编辑方案。或者,您可以按屏幕底部附近的位置服务图标(跳过、跨入、跨出旁边的箭头)