Dreams Arts Design

Bem-vindo ao Dreams Art's Design. Para poder utilizar todos os atributos deste fórum, será necessário que você crie uma conta de usuário. O cadastro é gratuito e leva pouco tempo para ser preenchido. Após o cadatro você estara automaticamente fazendo parte do grupo Dreams Arts Design e terá acesso a recursos exclusivos para membros. Registre-se e participe!

Atenciosamente, Equipe Dreams Arts Design


Participe do fórum, é rápido e fácil

Dreams Arts Design

Bem-vindo ao Dreams Art's Design. Para poder utilizar todos os atributos deste fórum, será necessário que você crie uma conta de usuário. O cadastro é gratuito e leva pouco tempo para ser preenchido. Após o cadatro você estara automaticamente fazendo parte do grupo Dreams Arts Design e terá acesso a recursos exclusivos para membros. Registre-se e participe!

Atenciosamente, Equipe Dreams Arts Design

Dreams Arts Design

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Dreams Arts Design
ATENÇÃO: Vamos mudar toda a estrutura do site, semana que vem o mesmo ficara OFF para realização da mudança. Em breve vocês terão nova areas no fórum. Espero que gostem.

    [Tutorial PHP]- Mostrar Previsão do Tempo

    Douglas Pereira
    Douglas Pereira
    O futuro dependerá daquilo que fazemos no presente.
    O futuro dependerá daquilo que fazemos no presente.


    [Tutorial PHP]- Mostrar Previsão do Tempo 2zodsv6
    Mensagens : 2776
    Pontos : 10961
    Data de inscrição : 12/05/2009
    Respeito às regras. : [Tutorial PHP]- Mostrar Previsão do Tempo 11101010
    Idade : 16
    Localização : Recife- Pe

    [Tutorial PHP]- Mostrar Previsão do Tempo Empty [Tutorial PHP]- Mostrar Previsão do Tempo

    Mensagem por Douglas Pereira Qui Set 16, 2010 7:55 pm

    [Tutorial PHP]- Mostrar Previsão do Tempo Previsao


    Hoje vou mostrar pra vocês como é incrivelmente simples mostrar uma previsão do tempo no seu site usando a API de Previsão do Tempo do Google (Google Weather API).

    Diferente da API de previsão do tempo do Yahoo, na do Google você identifica a cidade pelo o seu nome, não por um código alfa-numérico, o que deixa o serviço bem mais fácil e customizável… Você pode, por exemplo, mostrar a previsão do tempo da cidade que o visitante informou na hora do cadastro, é muito bom.

    Outra diferença primordial entre as duas APIs é que a do Yahoo retorna apenas a previsão do tempo do dia, e a do Google retorna a previsão do tempo do dia e dos próximos três dias.

    A resposta do Google vem em formato XML e vamos usar a classe SimpleXML (PHP 5) para manipular esses dados.


    A URL da API

    O script todo funciona de uma forma bem simples: você chama a URL da API informando a cidade, estado e o idioma de retorno e ele te responde com os dados no formato XML. A URL que iremos usar de exemplo é essa:

    Código:
    http://www.google.com/ig/api?weather=Rio de Janeiro,Rio de Janeiro,Brazil&hl=pt-br

    Repare que passamos dois parâmetros na URL, o “weather” que é onde informaos a cidade, estado e país (Rio de Janeiro, Rio de Janeiro, Brazil)… Antes que você me chame de burro, Brasil lá fora se escreve com Z e não com S… E temos o segundo parâmetro é o “hl” que é o idioma no qual queremos a resposta (pt-br).

    O Script

    Primeiro nós definimos algumas variáveis que serão usadas pelo script:

    Código:
    <?php

    // Localização
    $cidade = 'Rio de Janeiro'; // Cidade
    $estado = 'Rio de Janeiro'; // Estado (sem abreviação!)
    $pais = 'Brazil'; // País (em inglês)
    $idioma = 'pt-br'; // Idioma de resposta (pt-br)

    // URL principal da API
    $googleWeather = 'http://www.google.com/ig/api';

    ?>

    Depois montamos a URL que será usada para chamar as informações:

    Código:
    // Montamos a URL que será chamada
    // Usamos a função urlencode() para substituir caracteres especiais
    $apiUrl = $googleWeather . '?weather=' . urlencode($cidade) . ',' . urlencode($estado) . ',' . urlencode($pais) . '&hl=' . $idioma;

    Agora nós iremos pegar o resultado da API e passá-lo (em codificação UFT-8) para o SimpleXML:

    Código:
    // Pegamos o resultado da API
    $resultado = file_get_contents($apiUrl);

    // Usamos o SimpleXML para pegar a resposta
    // O SimpleXML precisa receber valores em UTF-8, então usamos o uft8_encode()
    $xml = simplexml_load_string(utf8_encode($resultado));

    Agora nós já temos todas as informações, vamos separá-las usando o método xpath() do SimpleXML:

    Código:
    // Separamos as informações encontradas
    $info = $xml->xpath('/xml_api_reply/weather/forecast_information');
    $atual = $xml->xpath('/xml_api_reply/weather/current_conditions');
    $proximos = $xml->xpath('/xml_api_reply/weather/forecast_conditions');

    E por fim, exibimos as informações em formato HTML:

    Código:
    <h2>Previsão do Tempo - <?php echo date('d/m/Y', strtotime($info[0]->forecast_date['data'])); ?></h2>
    <p>Cidade: <?php echo $info[0]->city['data']; ?></p>

    <h3>Previsão Atual</h3>
    <table>
            <tr>
                    <td><img src="http://www.google.com<?php echo $atual[0]->icon['data']; ?>" alt="weather" /></td>
                    <td><?php echo $atual[0]->temp_c['data']; ?>° C<br /><?php echo $atual[0]->condition['data']; ?></td>
            </tr>
    </table>

    <h3>Próximos dias</h3>
    <table>
            <?php foreach ($proximos AS $item) { ?>
            <tr>
                    <td><?php echo $item->day_of_week['data'];?></td>
                    <td><img src="http://www.google.com<?php echo $item->icon['data']; ?>" alt="weather" /></td>
                    <td><?php echo $item->low['data']; ?>/<?php echo $item->high['data']; ?>° C<br /><?php echo $item->condition['data']; ?></td>
            </tr>
            <?php } ?>
    </table>

    O Resultado

    [Tutorial PHP]- Mostrar Previsão do Tempo Previsao

    Script Final

    Creditos:Thiago Belem

      Data/hora atual: Sáb Abr 27, 2024 12:35 am