es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Hay un mensaje de error de {“cod”:”400″,”message”:”latitud incorrecta”} al obtener los datos del clima.

Mi clase de redes hace bien su trabajo al recuperar mi longitud y latitud, pero cada vez que uso el método http.get para obtener el clima, arroja un mensaje de error, además el código de estado es 400.

Networking _networking = Networking();
const apiKey = '342a6e161ec06e5aeba1482eb65a30ab';

getWeatherData() async {
  var latitude = await _networking.latitude;
  var longitude = await _networking.latitude;

  Response response = await http.get(
    Uri.parse('http://api.openweathermap.org/data/2.5/weather?lat={$latitude}&lon={$longitude}&appid=$apiKey'),
  );
  print(response.statusCode);
  print(response.body);
}

A continuación se muestran los errores que se imprimen en la consola:

I/flutter ( 7834): 400
I/flutter ( 7834): {"cod":"400","message":"wrong latitude"}
I/flutter ( 7834): 5.1315083
I/flutter ( 7834): -1.2794733
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el valor de latitud utilizado en la llamada de la API es incorrecto.

    Tras una inspección más detallada del código, parece que el valor de longitud se está utilizando en lugar del valor de latitud en el segundo comando await. Esto causaría que la llamada de la API utilice las coordenadas incorrectas y resulte en el error.

    Para resolver este problema, actualice el segundo comando await para obtener el valor de latitud:

    var longitud = await _networking.longitud;
    

    Con este cambio, se deberían utilizar las coordenadas correctas en la llamada de la API y se debería recuperar exitosamente los datos del clima.

Comments are closed.