Как найти название страны из названия города на Яве? - PullRequest
9 голосов
/ 16 февраля 2012

Я хочу получить название страны пользователя Twitter.

Для этого я получил местоположение из тега <location>, в котором некоторые пользователи написали название своей страны, некоторые написали название своего города, а некоторые также написали название своего штата.

Я хочу получить название страны для всех пользователей. Как я могу это сделать?

Ответы [ 4 ]

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

Одним из способов будет использование API Карт Google (хотя это может быть излишним).Например, предположим, что кто-то перечислил свою страну как «Джакарта» (фактически город в Индонезии).Затем вы должны отправить следующий запрос API Карт:

http://maps.googleapis.com/maps/api/geocode/json?address=Jakarta&sensor=false

, который возвращает объект JSON.Затем вы анализируете это с помощью вашего любимого анализатора JSON и извлекаете поле «long_name» поля «address elements» с типом «country».В данном случае это «Индонезия».

5 голосов
/ 16 февраля 2012

Попробуйте найти файл ресурса или базу данных с удобной лицензией (например, GeoWorldMap отсюда ). В любом случае, вы не получите точную информацию от пользователей твиттера, и то, что они пишут в своем профиле, может быть ошибочным. Поэтому я бы использовал статический ресурс и декодировал как можно больше мест.

4 голосов
/ 16 февраля 2012

Вы можете использовать гео таблицы в YQL: http://developer.yahoo.com/yql/console/#h=select%20*%20from%20geo.places%20where%20text%3D%22jakarta%22

Пример запроса: select * from geo.places where text="jakarta"

4 голосов
/ 16 февраля 2012

Вы можете использовать скрипт автозаполнения Карт Google, чтобы узнать возможные страны для города.Это работает так: когда вы печатаете «Нью-Йорк», он предлагает вам «Нью-Йорк, США».Но помните, вы не всегда можете получить название страны из названия города: в Германии есть Берлин, а также в Коннектикуте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...