0

Как только мы запросим координаты. Откуда мы знаем, что это место находится в Нью-Йорке или Лос-Анджелесе? Или нет?Обнаружение того, кто из города находится в

Как это вычислить?

Я понятия не имею, как это сделать. Любая помощь пожалуйста

P.S .: Обратное геокодирование преобразует координату для названия. Но это не мой вопрос. Я спрашиваю, откуда мы знаем, что это место находится в городе или нет? Является ли это сравнением строки, генерируемой обратным геокодированием, потому что это звучит «с ошибкой» для меня

+0

Обратное геокодирование не возвращает строку, оно возвращает массив объектов CLPlacemark. У них есть свойство «locality», которое является «городом». Однако то, что составляет «город», варьируется во всем мире и может также отличаться от ваших требований. – Michael

+0

Вы спрашиваете, как вы узнаете, в каком городе они находятся, или если они находятся за пределами города (в отличие от сельской местности)? Название города, как правило, является «местностью» CLPlacemark, которую вы можете получить от обратного геокодирования, но не существует способа определить, находятся ли они в пределах города, от текущего API. – wjl

ответ

0

То, что вы ищете, называется обратное геокодирование. Посмотрите класс CLGeocoder и метод reverseGeocodeLocation:completionHandler:.

+0

Обратное геокодирование преобразует координату в название. Но это не мой вопрос. Я спрашиваю, откуда мы знаем, что это место находится в городе или нет? Это путем сравнения строки, генерируемой обратным геокодированием, потому что она звучит «с ошибкой» для меня – JayVDiyk

+0

Ну, это то, что есть. – matt

0

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

let urlPath: String = "http://maps.googleapis.com/maps/api/geocode/json?latlng=\(self.latitude),\(self.longitude)&sensor=true_or_false 
let recievedLocation : NSMutableData! = self.getJSON(urlPath) 
let recievedDictonary = self.parseJSON(recievedLocation) 
let returnedPlaces : NSArray = recievedDictonary["results"] as! NSArray 

Заменить широту и долготу в URL с вашими координатами. Возвращенные элементы будут иметь набор словарей. Это будет в формате JSON, и вам нужно будет сделать некоторое форматирование. Используйте this link, чтобы получить представление о том, как будут возвращаться данные. Дайте мне знать, если вам нужна помощь в форматировании полученных данных.

+0

Вы говорите, что геокодирование в целом ненадежно или служба геокодирования Apple? Это все еще использует геокодирование. – wjl

+0

Служба геокодирования Apple ненадежна. Из того, что я видел, адрес, возвращаемый геокодированием, обычно никогда не бывает точным. Использование API Google возвращает точный адрес для указанных координат. Геокодирование Apple может быть точным во многих местах, но местоположение Google, как правило, является точным для любой заданной вами координаты. – ebby94