1
我正在通过Web服务和地理编码接收纬度和经度列表,然后获取完整地址。 问题是,一段时间后,它们变为空,地理编码器停止工作! 有人能帮助我吗?Geocoder在一段时间后返回null
下面是我使用以获取地址代码:
-(void)getAddressArray:(void (^)(id response))completion{
for (int i=0; i<[favoritos count]; i++) {
double latitude = [[[favoritos valueForKey:@"latitude"] objectAtIndex:i] doubleValue];
double longitude = [[[favoritos valueForKey:@"longitude"] objectAtIndex:i] doubleValue];
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(latitude, longitude);
CLLocation * locationAtual = [[CLLocation alloc]initWithLatitude:location.latitude longitude:location.longitude];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:locationAtual completionHandler:^(NSArray *placemarks, NSError *error) {
NSDictionary *dicAddress;
CLPlacemark *place = [placemarks firstObject];
if (placemarks) {
NSLog(@"%@",place.addressDictionary);
if ([place.addressDictionary valueForKey:@"Thoroughfare"] == [NSNull null] || ![place.addressDictionary valueForKey:@"Thoroughfare"]) {
dicAddress = @{@"id":[[favoritos objectAtIndex:i] valueForKey:@"id"],@"address":@"Endereço não encontrado!",@"complemento":[[favoritos objectAtIndex:i] valueForKey:@"references"],@"number":[[favoritos valueForKey:@"numero"] objectAtIndex:i],@"name":[[favoritos valueForKey:@"name"] objectAtIndex:i], @"latitude":[[favoritos valueForKey:@"latitude"] objectAtIndex:i], @"longitude":[[favoritos valueForKey:@"longitude"] objectAtIndex:i]};
}
[address addObject:dicAddress];
if ([address count] == [favoritos count])
completion(address);
}
}];
}
谢谢!
谢谢,我不知道这个速度。 –