2013-01-03 11 views
13

Questo Request.JSONhttp://mootools.net/demos/?demo=Request.JSON utilizzando i dati JSON in un modo come questo,Carico Paese bandiera da Geonames API usando la tecnica JSONP

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

Nel metodo di cui sopra utilizzare Countrycode & images scrivendo il nome di ogni immagine di noi stessi.

Sto cercando un metodo per utilizzare Geonames via http://api.geonames.org/export/geonamesData.js?username=orakzai per recuperare Countrycode e CountryFlags via http://www.geonames.org/flags/x/xx.gif dove xx è 2 lettere Codice ISO del paese

risposta

24

Le bandiere vengono restituiti come file GIF, invece di qualsiasi tipo di JSON. Dovresti semplicemente usare

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

Ma compilare il ?? con il codice paese utilizzato da geonames.

Puoi inserire il tag nella tua pagina da qualche parte e usare qualche javascript per cambiare l'URL a quello che hai calcolato o puoi calcolare l'URL sul tuo server e inserirlo come viene creata la pagina HTML.

Se si vuole farlo in javascript, per esempio, in jQuery si avrebbe qualcosa di simile per modificare l'URL in un tag di immagine già caricata con id = 'myImage'

$("#myImage").attr('src', "http://www.geonames.org/flags/x/" + countryCode + ".gif") 
+0

suo ok per un'immagine, ma come ottenere 'Countrycode' da http://api.geonames.org/export/geonamesData.js ? username = orakzai – Arif

+0

È uno script, ecco la pagina mootools che spiega come caricare uno script: [clicca qui] (http://mootools.net/docs/more/Utilities/Assets) ed ecco jQuery [clicca qui] {http://api.jquery.com/jQuery.getScript/) –

+1

L'URL è ora nel formato: http://geotree.geonames.org/img/flags18/xx.png –

6

servizio simile, come geonames.org:

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

+1

Tranne" uk "non è un codice paese. "gb" funzionerebbe in questo caso. –

Problemi correlati