Pular para o conteúdo principal

Postagem em destaque [permanente]

Acabe com seus vícios e maus hábitos: Conheça o Abster!

⚙️ .NET MAUI Aula 104 - App de Previsão do Tempo (Parte 2) | Consumindo API do OpenWeatherMap

OpenWeatherMap: https://openweathermap.org/

☀️ O app de previsão do tempo está ganhando inteligência!
Nesta segunda parte, você vai aprender a consumir a API do OpenWeatherMap para exibir o clima e a temperatura da sua localização atual, detectada via GPS.

📌 Neste vídeo você vai aprender:
✅ Como criar uma conta no OpenWeatherMap.org

✅ Gerar e configurar a chave de API para o seu projeto
✅ Fazer chamadas HTTP em .NET MAUI para buscar os dados do clima
✅ Exibir temperatura, condição do tempo e localização na interface
✅ Integrar a API com as coordenadas obtidas via GPS

🎯 Essa é a parte onde unimos front-end, lógica e API real para criar um app totalmente funcional e moderno — direto do seu dispositivo!

💡 Dica: o OpenWeatherMap retorna os dados em Kelvin por padrão, mas no vídeo você aprende a converter para Celsius facilmente.

🔔 Inscreva-se no canal Newbie Aulas e acompanhe as próximas partes do projeto — vem muito mais por aí!


Código da aula:

public async Task BuscarClima(double latitude, double longitude)
{
    try
    {
        string apiKey = "SUA_CHAVE_AQUI"; // substitua pela sua
        string url = $"https://api.openweathermap.org/data/2.5/weather?lat={latitude}&lon={longitude}&appid={apiKey}&units=metric&lang=pt_br";

        using HttpClient client = new();
        var resposta = await client.GetAsync(url);

        if (resposta.IsSuccessStatusCode)
        {
            var json = await resposta.Content.ReadAsStringAsync();

            // extrai os dados principais
            using var doc = JsonDocument.Parse(json);
            var main = doc.RootElement.GetProperty("main");
            var weather = doc.RootElement.GetProperty("weather")[0];

            double temp = main.GetProperty("temp").GetDouble();
            string descricao = weather.GetProperty("description").GetString();

            LBLClima.Text = $"Temperatura: {temp:F1}°C\nClima: {descricao}";
        }
        else
        {
            LBLClima.Text = "Não foi possível obter os dados do clima.";
        }
    }
    catch (Exception ex)
    {
        LBLClima.Text = $"Erro: {ex.Message}";
    }
}


Abraços e até a próxima!
Para encontrar mais aulas como esta, ou outras diferentes, acesse nosso índice clicando aqui!

Comentários

Postagens mais visitadas