我从这个方法获取用户位置
/*Region and Zoom*/
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta=0.2;
span.longitudeDelta=0.2;
CLLocation *location1 = [locationManager location];
CLLocationCoordinate2D location = [location1 coordinate];
location.latitude = location.latitude;
location.longitude = location.longitude;
region.span=span;
region.center = location;
/*Geocoder Stuff*/
MKReverseGeocoder *geoCoder=[[MKReverseGeocoder alloc] initWithCoordinate:location];
geoCoder.delegate = self;
[geoCoder start];
mapView.showsUserLocation = TRUE;
[mapView setRegion:region animated:TRUE];
[mapView regionThatFits:region];
这很有效,但是当我尝试在模拟器中运行此代码时,它会在[mapView setRegion:region animated:TRUE];
处崩溃,这表明它没有得到纬度和经度值。那么如何才能让这个代码在模拟器中完美运行。
我必须在模拟器中运行此代码,是否可能?
答案 0 :(得分:14)
默认情况下,在iOS5模拟器上,它会在美国显示一些位置。如果要更改该位置,请在iOS模拟器菜单中转到Debug - >位置 - >自定义位置。 在那里,您可以设置纬度和经度,并相应地测试应用程序。这适用于mapkit以及CLLocationManager。
答案 1 :(得分:10)
试试这条路 -
转到产品 - >编辑方案 - >选项 - >选择允许位置模拟
它不是您的确切位置!但至少你可以验证你的代码是否正常工作。