2013-10-24 20 views
2

位置做了更新调用三个时间和位置没有失败,错误即使没有数据接收 不叫更新如何避免调用位置做了更新三次和呼叫确实失败,错误没有数据接收?如何避免调用位置并三次


IM不采取有关Internet连接

+0

为什么位置更新需要互联网?如果它是一款真正的iPhone,它有一个GPC芯片,它可以在没有互联网的情况下同时工作(可以花20分钟来更新年历)。你究竟遇到什么问题?试图在这里解决? – JustSid

回答

1

如何避免调用三次位置更新?

适用于iOS的位置更新委托可以调用几个时间取决于速度不是三次 所以使用布尔变量来表示

如何调用都失败,错误没有互联网连接?

您已设置位置马槽委托具有自我

+1

位置设置代表自我 –

0

如何避免调用三次位置没有更新?

在此方法中,将位置管理器的委托设置为零。

如何打电话确实失败,没有互联网连接的错误?

为什么要调用它?地点可能来自三个来源:GPS收音机,蜂窝和WiFi,但不是来自互联网。

0

的LocationManager didUpdateToLocation始终为您在位置变化。如果它飞多个位置,它会多次调用。你可以用不同的方式避免它。但是如果用户改变了他的当前位置,这将不会更新位置。

您可以使用此代码来获取位置并继续进行。

- (无效)的getLocation {

locationManager = [[CLLocationManager alloc] init] ; 
locationManager.delegate = self; 
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; 

// [的LocationManager startUpdatingLocation];注释以避免多次呼叫,或者您可以说更新当前位置 CLLocation * newLocation = [locationManager location]; CLGeocoder * geoCoder = [[CLGeocoder alloc] init]; [地理编码reverseGeocodeLocation:newLocation completionHandler:^(NSArray的*标,NSError *错误){

NSString * location = ([placemarks count] > 0) ? [[placemarks objectAtIndex:0] locality] : @"Not Found"; 
    NSLog(@"location:%@",location); 
    NSLog(@"lat:%f",locationManager.location.coordinate.latitude); 
    NSLog(@"long:%f",locationManager.location.coordinate.longitude); 
}]; 

}

相关问题