gratis google forecast example clima javascript json units-of-measurement weather-api openweathermap

javascript - google - openweathermap api key



¿Cómo calculo la temperatura en grados celsius devuelto en openweathermap.org JSON? (4)

Eso parece ser kelvin, pero puede especificar el formato que desea que se devuelva para la temperatura, por ejemplo:

http://api.openweathermap.org/data/2.5/weather?q=London&mode=json&units=metric

o

http://api.openweathermap.org/data/2.5/weather?q=London&mode=json&units=imperial

Estoy obteniendo el clima para una ciudad usando openweathermap.org.

La llamada jsonp está funcionando y todo está bien, pero el objeto resultante contiene la temperatura en una unidad desconocida:

{ //... "main": { "temp": 290.38, // What unit of measurement is this? "pressure": 1005, "humidity": 72, "temp_min": 289.25, "temp_max": 291.85 }, //... }

Aquí hay una demostración de que console.log es el objeto completo.

No creo que la temperatura resultante esté en grados Fahrenheit porque la conversión de 143.544 Fahrenheit a 143.544 centígrados es 143.544 .

¿Alguien sabe qué unidad de temperatura está abriendo openweathermap?



Parece kelvin . Convertir kelvin a celsius es fácil: solo reste 273.15.

Y el vistazo más breve a la documentación de la API nos dice que si agrega &units=metric a su solicitud, obtendrá centígrados.


Puedes cambiar la unidad a métrica.

Este es mi código.

<head> <script src="http://code.jquery.com/jquery-1.6.1.min.js"></script> <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.min.js"></script> <style type="text/css">] body{ font-size: 100px; } #weatherLocation{ font-size: 40px; } </style> </head> <body> <div id="weatherLocation">Click for weather</div> <div id="location"><input type="text" name="location"></div> <div class="showHumidity"></div> <div class="showTemp"></div> <script type="text/javascript"> $(document).ready(function() { $(''#weatherLocation'').click(function() { var city = $(''input:text'').val(); let request = new XMLHttpRequest(); let url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&appid=[YOUR API KEY HERE]`; request.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { let response = JSON.parse(this.responseText); getElements(response); } } request.open("GET", url, true); request.send(); getElements = function(response) { $(''.showHumidity'').text(`The humidity in ${city} is ${response.main.humidity}%`); $(''.showTemp'').text(`The temperature in Celcius is ${response.main.temp} degrees.`); } }); }); </script> </body>