/** * @param Location $location * @return Weather */ public function fetch(Location $location) : Weather { $weather = new Weather(); $city = $location->getLocation(); $apiKey = $this->apiKey; $json = file_get_contents('http://api.openweathermap.org/data/2.5/weather?q=' . $city . ',lt&units=metric&appid=' . $apiKey); $temperature = $this->parser->getTemperature($json); $weather->setTemperature($temperature); $weather->setProvider("OpenWeatherMap"); return $weather; }
/** * @param Location $location * @return Weather */ public function fetch(Location $location) : Weather { $weather = new Weather(); $city = $location->getLocation(); $base_url = "https://query.yahooapis.com/v1/public/yql"; $yql_query = "select * from weather.forecast where woeid in (select woeid from geo.places(1) where text='" . $city . "') and u='c'"; $yql_query_url = $base_url . "?q=" . urlencode($yql_query) . "&format=json"; $json = file_get_contents($yql_query_url); $temperature = $this->parser->getTemperature($json); $weather->setTemperature($temperature); $weather->setProvider("Yahoo"); return $weather; }