2012-02-16 21 views
9

Quiero buscar el nombre del país del usuario de Twitter.¿Cómo encontrar el nombre del país del nombre de la ciudad en Java?

Para eso obtuve la ubicación de la etiqueta <location> en la que algunos usuarios escribieron el nombre de su país, algunos escribieron el nombre de su ciudad y algunos también escribieron el nombre de su estado.

Deseo obtener el nombre del país para todos los usuarios. ¿Cómo puedo hacer esto?

Respuesta

10

Una forma sería utilizar la API de Google Maps (aunque podría ser exagerada). Por ejemplo, supongamos que alguien ha enlistado su país como "Yakarta" (en realidad una ciudad en Indonesia). De allí tendría que presentar la siguiente solicitud de API Mapas:

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

que devuelve un objeto JSON. Luego lo analiza con su analizador JSON favorito y extrae el campo "long_name" del campo "componentes de dirección", con el tipo "país". En este caso, eso es "Indonesia".

+0

Muchas gracias Chris. –

+0

Lo tengo ... :) :) :) :) :) –

+3

Quizás esto indique lo obvio, pero debe mantener una lista de nombres de países reconocidos (y errores ortográficos comunes) para que solo haga una solicitud de la API de Maps cuando no reconozco el país –

4

Puede utilizar el script de autocompletar de Google Maps para obtener posibles países para una ciudad. Funciona así: cuando escribe "Nueva York", sugiere "Nueva York, EE. UU.". Pero recuerde, no siempre se puede obtener el nombre del país del nombre de la ciudad: también hay un Berlín en Alemania y en Connecticut.

+1

1, esp. para Berlín en Alemania y Connecticut. – Ghost

+1

Gracias por responder. –

5

Intente encontrar un archivo de recursos o base de datos con una licencia conveniente (como GeoWorldMap from here). De todos modos, no obtendrás información precisa de los usuarios de Twitter, y lo que escriban en su perfil podría ser completamente erróneo. Así que usaría un recurso estático y decodificaría tantos lugares como fuera posible.

+1

Gracias por responder :) –

Cuestiones relacionadas