Учитывая, что mapkit сегодня не предоставляет функции прямого геокодирования, может ли кто-нибудь помочь в том, как я могу использовать панель поиска, чтобы вернуть координату широты и долготы с введенного пользователем адреса сегодня. Если кто-то может предоставить образец кода, который был бы большим.
Перенос геокодирования с iPhone
Ответ 1
iOS 5 теперь позволяет перенаправить геокодирование:
Надеюсь, это поможет!
Ответ 2
Я создал API геокодирования для геокодирования Google. Посмотрите мой блог-постер: http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/
Ответ 3
Я создал SVGeocoder, простой передний и класс геокодирования для iOS. Он также использует API геокодирования Google и возвращает MKPlacemark.
Вот как вы геокодируете адресную строку:
NSString *addressString = @"3245 St-Denis, Montreal"
SVGeocoder *geocodeRequest = [[SVGeocoder alloc] initWithAddress:addressString];
[geocodeRequest setDelegate:self];
[geocodeRequest startAsynchronous];
И вы меняете геокодирование объекта CLLocationCoordinate2D следующим образом:
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(45.54181, -73.62928);
SVGeocoder *rGeocoderRequest = [[SVGeocoder alloc] initWithCoordinate:coordinate];
[rGeocoderRequest setDelegate:self];
[rGeocoderRequest startAsynchronous];
SVGeocoderDelegate предлагает следующие два метода:
- (void)geocoder:(SVGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark;
- (void)geocoder:(SVGeocoder *)geocoder didFailWithError:(NSError *)error;
Ответ 4
Я проделал небольшую работу по прямому и обратному геокодированию с использованием CLGeocoder в iOS5 CoreLocation на github, надеюсь, он вам поможет. https://github.com/Mangesh20/geocoding
Ответ 5
Это известная проблема с текущей версией MapKit. Файл bugreport и dupe # 6628720, чтобы они фиксировали его приоритетом.
В то же время существуют API-интерфейсы Geocoding с Карты Google через Yahoo Placemaker, или Cloudmade.
Ответ 6
Здесь также существует структура: https://github.com/tylerhall/CoreGeoLocation
Комментарий от документов: Объективный GeoCoder и Reverse Geocoder, в первую очередь, обертывание услуг Yahoo Geocoding или Google Geo API.
Ответ 7
В MapKit такой функции нет. Лучшее, что вы можете сделать, это позвонить в сторонний веб-сервис. У Google есть некоторые API, чтобы сделать это, и, таким образом, Yahoo подумал. У обоих есть ограничения на коммерческое использование, поэтому прочтите соглашение.