В моем приложении я собираюсь использовать прямое геокодирование, чтобы позволить пользователям вводить адрес в строку поиска и впоследствии размещать маркер на карте.
Могу ли я дважды проверить, работает ли следующий метод для того, что янамереваетесь это сделать?
-(CLLocationCoordinate2D) addressLocation {
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",
[searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSError* error;
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 {
//Show error
}
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;
return location;
}
Я буду вызывать вышеуказанный метод, чтобы получить широту и долготу, а затем соответствующим образом добавить аннотацию на карту.Нужно ли регистрироваться на APIKey для этого?Если да, где я могу включить его и могу ли я в этом случае взимать плату за свое приложение?
Спасибо!
Жень Хо