OpenWeatherMap Api ile Hava Durumu

OpenWeatherMap api kullarak bulunduğunuz şehrin yada istediğiniz herhangi bir şehrin güncel hava durumunu alabilirsiniz.

İhtiyacınız olan
1- OpenWeatherMap  Api Key
2- Şehrin Id'si


Öncelikle OpenWeatherMap sitesinden ücretsiz olarak api kaydınızı yaptırın.Sonrasında api keyinizi alın.


Şehir Id leri http://bulk.openweathermap.org/sample/city.list.json.gz

Bu link dışında örnek https://openweathermap.org/city/752850 752850 olan sakaryanın id si bunu sitede arama yaparakta bulabilirsiniz.

PHP Curl ile apinizin desteğini alarak json kodlarınızı okuyup html ile gösterimi yapıyoruz.


 <?php  
 $apiKey = "API KEY";  
 $cityId = "CITY ID";  
 $googleApiUrl = "http://api.openweathermap.org/data/2.5/weather?id=" . $cityId . "&lang=en&units=metric&APPID=" . $apiKey;  
 $ch = curl_init();  
 curl_setopt($ch, CURLOPT_HEADER, 0);  
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
 curl_setopt($ch, CURLOPT_URL, $googleApiUrl);  
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
 curl_setopt($ch, CURLOPT_VERBOSE, 0);  
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  
 $response = curl_exec($ch);  
 curl_close($ch);  
 $data = json_decode($response);  
 $currentTime = time();  
 ?>  
 <!doctype html>  
 <html>  
 <head>  
 <title>Forecast Weather using OpenWeatherMap with PHP</title>  
 </head>  
 <body>  
   <div class="report-container">  
     <h2><?php echo $data->name; ?> Weather Status</h2>  
     <div class="time">  
       <div><?php echo date("l g:i a", $currentTime); ?></div>  
       <div><?php echo date("jS F, Y",$currentTime); ?></div>  
       <div><?php echo ucwords($data->weather[0]->description); ?></div>  
     </div>  
     <div class="weather-forecast">  
       <img  
         src="http://openweathermap.org/img/w/<?php echo $data->weather[0]->icon; ?>.png"  
         class="weather-icon" /> <?php echo $data->main->temp_max; ?>°C<span  
         class="min-temperature"><?php echo $data->main->temp_min; ?>°C</span>  
     </div>  
     <div class="time">  
       <div>Humidity: <?php echo $data->main->humidity; ?> %</div>  
       <div>Wind: <?php echo $data->wind->speed; ?> km/h</div>  
     </div>  
   </div>  
 </body>  
 </html>  

Ortaya çıkan sonuç


Yorumlar

Bu blogdaki popüler yayınlar

Stormfall: Saga of Survival Hile

Php ile Windows Uygulama Yapmak Başlangıç (PHP Desktop)

Rise Of Civilizations