Как найти длинный и длинный город на iphone? - PullRequest
2 голосов
/ 17 октября 2010

Я пытаюсь найти длинный и длинный город на iphone.Скажем, пользователь ищет Лондон, я бы вызвал какую-то функцию, которая получит длинный и длинный Лондон.Я посмотрел в Интернете и обнаружил, что вы можете использовать Google API, но где-то должна быть функция Apple, чтобы справиться с этим?

Я наткнулся на MKReverseGeocoder, который принимает long и lat и сообщает вам, в каком городе вы находитесьрядомнапример,

// reverse geocode the user location

geocoder = [[[MKReverseGeocoder alloc] initWithCoordinate:mapView.userLocation.location.coordinate] autorelease];

Если это может изменить процесс, должна быть какая-то форма класса MKGeocoder?

Ответы [ 4 ]

2 голосов
/ 10 февраля 2012

В iOS5 SDK добавлена ​​поддержка прямого и обратного геокодирования. Взгляните на класс CLGeocoder , чтобы узнать больше

2 голосов
/ 17 октября 2010

См. OpenStreetMap .Это дает вам больше гибкости в доступе к своим данным.Вы можете предварительно заполнить хранилище CoreData необходимой вам информацией.
Существует несколько API-клиентов, например route-me или cloudmade .

2 голосов
/ 17 октября 2010

но где-то должна быть функция Apple, чтобы справиться с этим

Почему это должно быть?Потому что нет.

Существует несколько веб-служб, которые вы можете использовать (например, Google) или вы можете загрузить базу данных названий мест, например http://www.geonames.org/, и импортировать ее в свое приложение.Вероятно, лучше всего импортировать его в базу данных SQL, которую затем можно будет найти в приложении.

1 голос
/ 17 октября 2010

Во-первых, откажитесь от того, что «должен быть» путь Apple.Там действительно нет.Если вы не верите мне и моим почти 2 тысячам очков опыта, послушайте Оле и его 13 тысяч.

Я видел три службы.

Я попробовал API геокодирования Google.Это прилично, но немного сложно, и они довольно жестко удушают ваши запросы.

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

Затем я нашел Geonames, которые меня очень впечатлили, но у меня еще не было возможности их использовать.Обратите внимание, что Geonames позволяет вам загружать их данные, поэтому, если вам действительно нужен бесплатный сетевой сервис, это может быть решением.

Кроме того, вы будете вызывать что-то с устройства.Что, кстати, вы, когда используете MKReverseGeocoder - это просто оболочка для сервиса обратного геокодирования Google.

...