diff --git a/javascript/JS_Esercizi 11 - API/extra_meteo/index.html b/javascript/JS_Esercizi 11 - API/extra_meteo/index.html index ab617d1..ca16941 100644 --- a/javascript/JS_Esercizi 11 - API/extra_meteo/index.html +++ b/javascript/JS_Esercizi 11 - API/extra_meteo/index.html @@ -17,7 +17,7 @@
https://api.open-meteo.com/v1/forecast con parametri:
+ latitude={lat}longitude={lon}current=temperature_2m,relative_humidity_2m,weather_codetimezone=autohttps://api.open-meteo.com/v1/forecastlatitude, longitude, current, timezoneresponse.currentresponse.currenthttps://api.open-meteo.com/v1/forecast?latitude=45.46&longitude=9.19¤t=temperature_2m,relative_humidity_2m,weather_code&timezone=auto+ 💡 Come costruire l'URL: +
I parametri query iniziano con ? e sono separati da &
const url = `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,relative_humidity_2m,weather_code&timezone=auto`;
+ https://api.open-meteo.com/v1/forecast?latitude=45.46&longitude=9.19¤t=temperature_2m,relative_humidity_2m,weather_code&timezone=auto+
Puoi testare questo URL direttamente nel browser per vedere la struttura della risposta.
+
+ Sarà in formato JSON, copiala e mettila in un visualizzatore JSON online per esplorarla meglio.
+ Oppure mettila in un file (es. response.json) e aprilo con VSCode, premi CTRL+SHIFT+F per formattarlo.
+
response.current = {
+ time: "2024-06-01T12:00:00Z",
+ interval: 900,
temperature_2m: 22.5,
relative_humidity_2m: 65,
- weather_code: 0 // 0=soleggiato, 1=nuvoloso, ecc
+ weather_code: 0 // 0=soleggiato, 1=nuvoloso, 2=coperto, 3=pioggia, ecc
}
Converti il codice meteo in emoji (0=☀️, 1=⛅, 2=☁️, 3=🌧️, ecc.)
+Converti il codice meteo in emoji (0=☀️, 1=⛅, 2=☁️, 3=🌧️, ecc.) usando una mappa di conversione
https://pokeapi.co/api/v2/pokemon/{name_or_id}response:
+ !response.ok, mostra un erroreresponse:
name - Nomesprites.front_default - Immagineheight - Altezza (in decimetri)weight - Peso (in ettogrammi)types[].type.name - Tipi (array)types[].type.name - Tipi (è un ARRAY!)https://pokeapi.co/api/v2/pokemon/pikachu
types:
+ types è un ARRAY di oggetti. Ogni elemento ha type.name:
// response.types = [{type: {name: "electric"}}, {type: {name: "flying"}}]
+// Per estrarre i nomi, usa map():
+const typeNames = response.types.map(t => t.type.name);
+// Risultato: ["electric", "flying"]
+ <div class="pokemon-card">
+ <img src="sprites.front_default" alt="name">
+ <h3>name</h3>
+ <p>Altezza: height dm</p>
+ <p>Peso: weight hg</p>
+ <p>Tipi: typeNames.join(", ")</p>
+</div>
+ if (!response.ok) {
throw new Error('Pokémon non trovato');
}
@@ -65,7 +89,7 @@
Colora la card in base al tipo (Fire=rosso, Water=blu, ecc.). Oppure aggiungi 5 Pokémon random al caricamento della pagina.
+Aggiungi una funzione che carica 6 Pokémon casuali al caricamento della pagina (usa numeri random tra 1 e 151 per Pokémon validi)