Загрузить флаг страны из API Geonames с использованием метода JSONP

Этот Request.JSON http://mootools.net/demos/?demo=Request.JSON используя данные JSON таким образом,

var data = {"previews":[
  {"Countrycode":"us", "src":"us.jpg", "description":"desc will be here"},
  {"Countrycode":"uk", "src":"uk.jpg", "description":"desc will be here"},
]};

В приведенном выше методе мы используем Countrycode и images, записывая имя каждого изображения самостоятельно.

Я ищу способ использовать Geonames через http://api.geonames.org/export/geonamesData.js?username=orakzai для получения Countrycode и CountryFlags через http://www.geonames.org/flags/x/xx.gif, где xx – двухбуквенный код страны по стандарту ISO.


person Arif    schedule 03.01.2013    source источник


Ответы (2)


Флаги возвращаются в виде файлов GIF, а не в формате JSON. Вы бы просто использовали

<img id='myImage' src="http://www.geonames.org/flags/x/??.gif" />

Но заполните ?? с кодом страны, который использует геоназвание.

Вы можете разместить тег где-нибудь на своей странице и использовать некоторый javascript, чтобы изменить URL-адрес на тот, который вы вычислили, или вы можете вычислить URL-адрес на своем сервере и вставить его при создании HTML-страницы.

Если вы хотите сделать это в javascript, например, в jQuery у вас будет что-то вроде этого, чтобы изменить URL-адрес уже загруженного тега изображения с id='myImage'

 $("#myImage").attr('src', "http://www.geonames.org/flags/x/" + countryCode + ".gif")
person Lee Meador    schedule 03.01.2013
comment
Это нормально для изображения, но как получить Countrycode из api.geonames.org/export /geonamesData.js?username=orakzai - person Arif; 04.01.2013
comment
Это скрипт, вот страница mootools, рассказывающая, как загрузить скрипт: нажмите здесь а вот jQuery [нажмите здесь]{api.jquery.com/jQuery.getScript) - person Lee Meador; 04.01.2013
comment
Если вы используете angular, это ng-src с {{countryCode}} - person Winnemucca; 02.09.2015

Подобный сервис, например geonames.org:

var country_code = 'uk',
  img_uri = 'https://flagpedia.net/data/flags/normal/' + country_code + '.png';

person Tarampampam    schedule 27.08.2016
comment
За исключением того, что Великобритания не является кодом страны. gb будет работать в этом случае. - person laurent; 02.02.2018