Ankündigung

Einklappen
Keine Ankündigung bisher.

Forecast.io API Abfrage zeigt immer das selbe an

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Forecast.io API Abfrage zeigt immer das selbe an

    Ich habe mich die letzten Tage mit der Forecast.io API beschäftigt, da wir vorhaben bei unseren Projekten das Wetter in der jeweiligen Stadt anzeigen zu lassen.

    Die Abfrage der Orte zu verschiedenen Uhrzeiten über die API klappt wunderbar, Temperaturen variieren auch aber was ich merkwürdig finde, dass es egal an welchem Tag, Uhrzeit und egal welche Stadt es immer "Partly Cloudy" ist.

    Vielleicht hat sich ja schon mal jemand mit deren API beschäftigt und hat einen Lösungsvorschlag.

    Hier die Klasse:
    PHP-Code:
    class Forecast
    {
        const 
    API_ENDPOINT 'https://api.forecast.io/forecast/';
        private 
    $api_key;

        public function 
    __construct($api_key)
        {
            
    $this->api_key $api_key;
        }

        private function 
    request($latitude$longitude$time null$options = array())
        {
            
    $request_url self::API_ENDPOINT
                
    $this->api_key
                
    '/'
                
    $latitude
                
    ','
                
    $longitude
                
    . ((is_null($time)) ? '' ','$time);

            if (!empty(
    $options)) {
                
    $request_url .= '?'http_build_query($options);
            }
            
            
    $response json_decode(file_get_contents($request_url));
            
    $response->headers $http_response_header;
            return 
    $response;
        }

        public function 
    get($latitude$longitude$time null$options = array())
        {
            return 
    $this->request($latitude$longitude$time$options);
        }

    Und die Abfrage läuft folgendermaßen:
    PHP-Code:
    $weather = new Forecast('APIkey');

    $wetter $weather->get('54.31562204885276','10.136518478393555','2015-06-05T18:00:00', array('units' => 'si')); 
    Raus kommt folgendes:
    Code:
    object(stdClass)#2 (9) {
      ["latitude"]=>
      float(54.315622048853)
      ["longitude"]=>
      float(10.136518478394)
      ["timezone"]=>
      string(13) "Europe/Berlin"
      ["offset"]=>
      int(2)
      ["currently"]=>
      object(stdClass)#3 (21) {
        ["time"]=>
        int(1433520000)
        ["summary"]=>
        string(13) "Partly Cloudy"
        ["icon"]=>
        string(17) "partly-cloudy-day"
        ["precipType"]=>
        string(4) "rain"
        ["temperature"]=>
        float(16.87)
        ["temperatureError"]=>
        float(2.94)
        ["apparentTemperature"]=>
        float(16.87)
        ["dewPoint"]=>
        float(8.92)
    .
    .
    .
    Zur Not muss ich sonst auf openweather umsteigen.
Lädt...
X