Я использую Google, чтобы взять адрес, чтобы получить его lat и long.Я пробегаю около 60-65 адресов.Каждый раз, хотя я буду случайным образом получать 5 или 6, которые возвращают 0,0 координатную пару.
Каждый раз, когда индексы, которые терпят неудачу, отличаются, поэтому я уверен, что это не проблема адреса.
Вот код, который я использую для возврата значений lat и long
Возможно ли, что я вызываю этот метод из цикла for?Может быть, такой быстрый и быстрый вызов иногда может привести к скачку?
-(CLLocationCoordinate2D)addressLocation:(NSString*)_address city:(NSString*)_city state:(NSString*)_state {
NSString *temp = [NSString stringWithFormat:@"%@, %@, %@", _address, _city, _state];
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", [temp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSError* error = nil;
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString ] encoding:NSASCIIStringEncoding error:&error];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
double latitude = 0.0;
double longitude = 0.0;
if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
latitude = [[listItems objectAtIndex:2] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else {
NSLog(@"Error: %@", [error description]);;
}
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;
return location;
}
РЕДАКТИРОВАТЬ
Я нашел способ обойтимомент, если кто-то еще, если возникли проблемы с этим.
Я просматриваю свой список, когда нахожу широту и длину каждого адреса.
Если из запроса Google возвращается ошибка, я добавляю этот адрес в массив хранения. Это означает, что я прошел ограничение скорости, указанное Firoze.
После того, как начальный прогон завершен, я прохожу через массив хранения и нахожу местоположения каждого адреса.
Я уверен, что есть намного более чистая реализация этого, но для любого, кто не в состоянии получить бизнес-лицензию, это взломанный способ.
Надеюсь, это поможет, Кори