是否可以在ios中使用mapbox SDK在脱机状态下查找用户当前位置
我正在制作离线地图。我正在使用mapbox sdk。但我无法跟踪用户当前位置。我编写了如下代码:是否可以在ios中使用mapbox SDK在脱机状态下查找用户当前位置,ios,objective-c,mapbox,Ios,Objective C,Mapbox,我正在制作离线地图。我正在使用mapbox sdk。但我无法跟踪用户当前位置。我编写了如下代码: 提前谢谢。请在这方面帮助我实际上你可以做到,但你必须打开wifi和3g。但如果showsUserLocation对您不起作用,您可以使用CLLocationManager进行操作。希望我的代码可以帮助你 - (IBAction)findMe:(id)sender { if (!_trackingActive) { NSLog(@"Tracking mode activated
提前谢谢。请在这方面帮助我实际上你可以做到,但你必须打开wifi和3g。但如果showsUserLocation对您不起作用,您可以使用CLLocationManager进行操作。希望我的代码可以帮助你
- (IBAction)findMe:(id)sender {
if (!_trackingActive) {
NSLog(@"Tracking mode activated");
_locationManager = [[CLLocationManager alloc] init];
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.delegate = self;
[_locationManager startUpdatingLocation];
_startLocation = nil;
_trackingActive = true;
self.mapView.showsUserLocation = YES;
if ([UIView instancesRespondToSelector:@selector(setTintColor:)])
self.mapView.tintColor = [UIColor colorWithRed:0.200 green:1.000 blue:0.200 alpha:1];
self.mapView.userLocation.title = @"Hola";
self.mapView.userLocation.badgeIcon = [UIImage imageNamed:@"info"];
self.mapView.userLocation.annotationIcon = [UIImage imageNamed:@"info"];
}else{
NSLog(@"Tracking mode deactivated");
[_locationManager stopUpdatingLocation];
_trackingActive = false;
self.mapView.showsUserLocation = NO;
}
}
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSString *currentLatitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.coordinate.latitude];
_latitude.text = currentLatitude;
NSString *currentLongitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.coordinate.longitude];
_longitude.text = currentLongitude;
NSString *currentHorizontalAccuracy =
[[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.horizontalAccuracy];
_horizontalAccuracy.text = currentHorizontalAccuracy;
NSString *currentAltitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.altitude];
_altitude.text = currentAltitude;
NSString *currentVerticalAccuracy =
[[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.verticalAccuracy];
_verticalAccuracy.text = currentVerticalAccuracy;
if (_startLocation == nil)
_startLocation = newLocation;
CLLocationDistance distanceBetween = [newLocation
distanceFromLocation:_startLocation];
NSString *tripString = [[NSString alloc]
initWithFormat:@"%f",
distanceBetween];
_distance.text = tripString;
self.mapView.centerCoordinate = CLLocationCoordinate2DMake(currentLatitude.doubleValue, currentLongitude.doubleValue);
}
嗨,有人能找到答案吗
- (IBAction)findMe:(id)sender {
if (!_trackingActive) {
NSLog(@"Tracking mode activated");
_locationManager = [[CLLocationManager alloc] init];
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.delegate = self;
[_locationManager startUpdatingLocation];
_startLocation = nil;
_trackingActive = true;
self.mapView.showsUserLocation = YES;
if ([UIView instancesRespondToSelector:@selector(setTintColor:)])
self.mapView.tintColor = [UIColor colorWithRed:0.200 green:1.000 blue:0.200 alpha:1];
self.mapView.userLocation.title = @"Hola";
self.mapView.userLocation.badgeIcon = [UIImage imageNamed:@"info"];
self.mapView.userLocation.annotationIcon = [UIImage imageNamed:@"info"];
}else{
NSLog(@"Tracking mode deactivated");
[_locationManager stopUpdatingLocation];
_trackingActive = false;
self.mapView.showsUserLocation = NO;
}
}
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSString *currentLatitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.coordinate.latitude];
_latitude.text = currentLatitude;
NSString *currentLongitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.coordinate.longitude];
_longitude.text = currentLongitude;
NSString *currentHorizontalAccuracy =
[[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.horizontalAccuracy];
_horizontalAccuracy.text = currentHorizontalAccuracy;
NSString *currentAltitude = [[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.altitude];
_altitude.text = currentAltitude;
NSString *currentVerticalAccuracy =
[[NSString alloc]
initWithFormat:@"%+.6f",
newLocation.verticalAccuracy];
_verticalAccuracy.text = currentVerticalAccuracy;
if (_startLocation == nil)
_startLocation = newLocation;
CLLocationDistance distanceBetween = [newLocation
distanceFromLocation:_startLocation];
NSString *tripString = [[NSString alloc]
initWithFormat:@"%f",
distanceBetween];
_distance.text = tripString;
self.mapView.centerCoordinate = CLLocationCoordinate2DMake(currentLatitude.doubleValue, currentLongitude.doubleValue);
}