Estoy utilizando llamadas API de https://openweathermap.org/current
A partir de ahora, tengo un programa que muestra el clima después de insertar un código postal. Quiero cambiar el programa para que muestre el clima después de insertar el nombre de una ciudad en lugar de un código postal.
Aquí está el código que he escrito para la entrada del código postal que funciona:
// takes in the zip from the html form, display in // console. Takes in as string, ex. for zip 02139 var zip = String(req.body.zipInput); console.log(req.body.zipInput); //build up the URL for the JSON query, API Key is // secret and needs to be obtained by signup const units = "imperial"; const apiKey = "ed83ec6f91552fa762538146eef4e349"; const url = "https://api.openweathermap.org/data/2.5/weather?zip=" + zip + "&units=" + units + "&APPID=" + apiKey;Aquí está el código que he escrito para el nombre de la ciudad que NO funciona:
// takes in the city name from the html form, display in // console. Takes in as string. var cityname = String(req.body.citynameInput); console.log(req.body.citynameInput); //build up the URL for the JSON query, API Key is // secret and needs to be obtained by signup const units = "imperial"; const apiKey = "ed83ec6f91552fa762538146eef4e349"; const url = "http://api.openweathermap.org/geo/1.0/direct?q={city name}&limit=. {limit}&appid={API key}" + cityname + "&units=" + units + "&APPID=" + apiKey;¿Cómo escribiría correctamente el código para obtener información meteorológica después de insertar el nombre de una ciudad en lugar de un código postal? El código que he escrito para el nombre de la ciudad no funciona como el código que he escrito para el código postal.
¡Dé la respuesta en código! Siéntase libre de copiar y pegar mi código y hacer las correcciones necesarias. Gracias.
Todo parece estar en el documento https://openweathermap.org/api/geocoding-api#direct_name , solo reemplace las partes naranjas por el valor real, ya sea usando la plantilla literal o la concatenación (tal como lo hizo para zip).
Aquí te falta el nombre de la ciudad en tu url.
PD: no olvide que el nombre de la ciudad parece contener un valor múltiple
EDITAR: ¡gracias @Bravo por las correcciones!