Лучше всего Геокодируя Сервис для iPhone Developers

Я сделал приложение, которое получает массив адресов от веб-сервиса, и я хочу отобразить их. Я знаю, что Apple пропустила это в MapKit, только включая обратный Геокодер. Я задавался вопросом, какой лучший способ приблизиться к этой проблеме был. Веб-сервис? API Google Maps (Как ключи API работают?)? CloudMade?

Каковы Ваши мнения, на которых сервис является самым быстрым, самым легким использовать, и самый дешевый (надо надеяться, свободный)?

10
задан conradev 2 October 2011 в 01:22
поделиться

3 ответа

Последняя документация, касающаяся использования ключей API с API службы геокодирования Google Maps.

Получить ключ API

Внизу страницы можно указать, что вы можете использовать общий неограниченный ключ API для тестирования на любой платформе.

Что касается iOS, я думаю, мы можем просто следовать документации SDK Google Maps для iOS.

5
ответ дан 3 December 2019 в 22:36
поделиться

Я использую «Restful WebService» для обратного геокодирования с помощью Google Maps, и как только я получаю координаты, я сохраняю их в SQLite для дальнейшего использования. Служба возвращает строку JSON, которую я позже анализирую в iPhone.

Примерно так:

// Initialize call to REST Webservice
- (void) initCall
{
    // Service
    RESTClient *client = [[[RESTClient alloc] initWithDelegate:self] autorelease];
    NSString *serviceHost = @"http://www.site.com/service/maps";
    [client get:serviceHost];
    [serviceHost release];
}

- (void)RESTRequestDidSucceed:(RESTClient*)sender
{

        // Search
   NSString *data = [[[NSString alloc] init] autorelease];
   data = [[NSString alloc] initWithData:sender.receivedData encoding:NSUTF8StringEncoding];

   // Now you have the DATA in and NSString which you can pass as an argument to a method
   // something like

}
1
ответ дан 3 December 2019 в 22:36
поделиться

IANAL, но если приложение, которое вы создаете, будет бесплатным, я считаю, что вы можете использовать API Карт Google бесплатно. . Он ограничен 15 000 запросов геокодирования в день, но, согласно документации, это связано с IP, а не ключом API. Вы можете получить ключ API сразу - одобрения не требуется. (Если ваше приложение не будет доступно в свободном доступе, вам придется подписаться на Google Maps Premier.)

GMaps теперь имеет основанный на REST API геокодирования через HTTP (раньше вам приходилось использовать их JavaScript API, что было проблемой для iPhone). Он может возвращаться в формате JSON, что тривиально для синтаксического анализа с использованием TouchJSON , если вам нужны дополнительные данные, или CSV, что будет еще проще, если все, что вам нужно, - это широта / долгота. Итак, вы можете просто создать объект, соответствующий протоколу MKAnnotation , который будет извлекать JSON / CSV из API с помощью NSURLConnection или ASIHTTPRequest, анализировать его и возвращать переменную Point . в качестве свойства координаты и при необходимости создайте свой MapView.

5
ответ дан 3 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: