Ajouter un weather api à mon site web

Nouveau WRInaute
Bonjour,
Ca fait deux jours que j'éssaie d'integrer un weather api comme sur ces screenshot , mais je sais pas comment faire , avez-vous une idée svp a propos de ça et merci .
voiçi mes screenshot :
http://img11.hostingpics.net/pics/948771Capture1.png
http://img11.hostingpics.net/pics/810813Capture2.png

HTML:
Code:
<div class="weather_wrapper">
    <div class="top_wrapper top_wrapper_e">
        <div class="date">Monday,
            <br />23 Dec.</div>
        <div class="temp">-7</div>
        <div class="icon">
            <img src="http://img11.hostingpics.net/pics/8703383328.png" width="34" height="34" alt="icone" />
        </div>
        <div class="bt_control" id="meteo_controller">
            <a href="javascript://">
                <img src="/themes/made_by_ola/images/meteo_widget/arrow_open.png" id="meteo_trigger_img" width="27" height="17" alt="Arrow" />
            </a>
        </div>
    </div>
    <div class="bottom_wrapper" id="meteo_future_days">
        <div class="next_days_wrapper">
            <div class="day first">
                <div class="date">Tuesday,
                    <br />24 Dec.</div>
                <div class="temp">-16</div>
                <div class="icon">
                    <img src="/themes/made_by_ola/images/meteo_widget/icons/34.png" width="34" height="34" alt="icone" />
                </div>
                <div class="clear"></div>
            </div>
            <div class="day">
                <div class="date">Wednesday,
                    <br />25 Dec.</div>
                <div class="temp">-14</div>
                <div class="icon">
                    <img src="/themes/made_by_ola/images/meteo_widget/icons/26.png" width="34" height="34" alt="icone" />
                </div>
                <div class="clear"></div>
            </div>
            <div class="day last">
                <div class="date">Thursday,
                    <br />26 Dec.</div>
                <div class="temp">-2</div>
                <div class="icon">
                    <img src="/themes/made_by_ola/images/meteo_widget/icons/14.png" width="34" height="34" alt="icone" />
                </div>
                <div class="clear"></div>
            </div>
        </div>
        <div class="bottom"></div>
    </div>
</div>

Script:
Code:
var meteostatus = 0; // closed
$('#meteo_controller').click(function() {
    if (meteostatus == 0) {
        meteostatus = 1;
        $('#meteo_future_days').fadeIn('slow');
        $('#meteo_trigger_img').attr('src', $('#meteo_trigger_img').attr('src').replace('open', 'close'));
    } else {
        meteostatus = 0;
        $('#meteo_future_days').fadeOut('slow');
        $('#meteo_trigger_img').attr('src', $('#meteo_trigger_img').attr('src').replace('close', 'open'));
    }
});
 
Nouveau WRInaute
voilà un lien vers mon api , svp comment puis-je l'integrer sur mon site web .

http://api.wunderground.com/api/2ea138a9dd52eabe/forecast/lang:FR/q/France/Paris.json

PHP:
<?php $json_string = file_get_contents("http://api.wunderground.com/api/2ea138a9dd52eabe/geolookup/conditions/q/IA/Cedar_Rapids.json");
$parsed_json = json_decode($json_string);
$location = $parsed_json->{'location'}->{'city'};
$temp_f = $parsed_json->{'current_observation'}->{'temp_f'};
echo "Current temperature in ${location} is: ${temp_f}\n"; ?>

JavaScript with jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script> jQuery(document).ready(function($) { $.ajax({ url : "http://api.wunderground.com/api/2ea138a9dd52eabe/geolookup/conditions/q/IA/Cedar_Rapids.json", dataType : "jsonp", success : function(parsed_json) { var location = parsed_json['location']['city'];
var temp_f = parsed_json['current_observation']['temp_f'];
alert("Current temperature in " + location + " is: " + temp_f); } }); }); </script>
 
WRInaute accro
Salut,

Le problème est que Wunderground n'est pas à jour à chaque heure et donc retourne des champs vident, le mieux est de compiler l'api de Yahoo et celle de Wunderground pour avoir un résultat pertinent.

So,

Pour installer Wunderground il te faut une clé d'API (celle que tu met dans l'url), tu as la clé directement sur le site, sache que tu es limité a 500 requtes par jour a moins de mettre des sous dans le nourrin (de mon coté je remonte les flux que je cronne en fichier txt, basta)

Une fois que tu as ta clé tu creer une page PHP et tu y colles le code donné par Wunderground

Je te file un bout de code PHP pour les prévisions sur 10 jours, ca devrait éclairer ta lanterne sur "comment fonctionne Wunderground et parser ses flux"

Tu peux aussi trouver quelque parseurs sur gg (surtout sur le .com)

Code:
$json_string = file_get_contents("url forecast10day");
$parsed_json = json_decode($json_string);


  foreach ($parsed_json->forecast->simpleforecast->forecastday as $day)
{
  echo "{$day->period}<br>";
  echo "{$day->date->weekday} {$day->date->day}: {$day->conditions} <br>";
  echo "{$day->low->fahrenheit} - {$day->high->fahrenheit} &deg;F <br>";
  echo "<img src=\"{$day->icon_url}\"> <br>";
  echo '<br>';

    $i = "{$day->period}";
     $forecast10day[$i]['period']          = "{$day->period}";
     $forecast10day[$i]['day']             = "{$day->date->day}";
     $forecast10day[$i]['month']           = "{$day->date->month}";
     $forecast10day[$i]['year']            = "{$day->date->year}";
     $forecast10day[$i]['celsius_high']    = "{$day->high->celsius}";
     $forecast10day[$i]['celsius_low']     = "{$day->low->celsius}";
     $forecast10day[$i]['conditions']      = "{$day->conditions}";
     $forecast10day[$i]['maxwind_mph']     = "{$day->maxwind->mph}";
     $forecast10day[$i]['maxwind_kph']     = "{$day->maxwind->kph}";
     $forecast10day[$i]['maxwind_degrees'] = "{$day->maxwind->degrees}";
     $forecast10day[$i]['maxwind_dir']     = "{$day->maxwind->dir}";
     $forecast10day[$i]['avewind_mph']     = "{$day->avewind->mph}";
     $forecast10day[$i]['avewind_kph']     = "{$day->avewind->kph}";
     $forecast10day[$i]['avewind_degrees'] = "{$day->avewind->degrees}";
     $forecast10day[$i]['avewind_dir']     = "{$day->avewind->dir}";
     $forecast10day[$i]['avehumidity']     = "{$day->avehumidity}";
     $forecast10day[$i]['maxhumidity']     = "{$day->maxhumidity}";
     $forecast10day[$i]['minhumidity']     = "{$day->minhumidity}";
     $forecast10day[$i]['qpf_allday']     = "{$day->qpf_allday->mm}";


}
      echo $forecast10day[4]['day']; // jour 4, 4ieme jour
      print_r($forecast10day);
 
Discussions similaires
Haut