У меня есть значение широты / долготы .... Как я могу найти и получить город?
Если вы ищете бесплатные (в качестве свободы) источники, вы можете использовать Geonames API findNearbyPlaceName.
Например, следующее возвращает ближайший Placename:
http://api.geonames.org/findNearbyPlaceName?lat=47.3&lng=9&username=demo
Более подробная информация доступна здесь
http://www.geonames.org/export/web-services.html#findNearbyPlaceName
Другим вариантом является получение данных из Freebase. Вместо одной точки она принимает ограниченную рамку:
http://api.freebase.com/api/service/geosearch?location=[30.2,50.4,30.6,50.8]&location_type=/location/citytown&inside=true&indent=1
Используя google maps api , вот пример для получения адреса в формате XML.
http://maps.google.com/maps/api/geocode/xml?latlng={latlng}&sensor={sensor}®ion={region}
Где latlng = 0,0 sensor = false и region = код страны, поэтому для моего старого адреса это будет
latlng
sensor
region
http://maps.google.com/maps/api/geocode/xml?latlng=-43.893792,171.7592620&sensor=false®ion=nz
Затем вы можете использовать этот XML, чтобы получить любую необходимую вам информацию, включая город