Talk to me about anything. If you’d like to work with me, or
even if you just need a hug, I’ll get back to you shortly.

Please enter your name


Say something!

Shoutbox
[sepeda motor ]
Sepeda Motor Injeksi misalnya Supra-x Injeksi mnawarkan beberapa keunngulan selain harga yang dibandrol cukup murah,kemudian ramah lingkungan,irit bahan bakar,tetapi tetap bertenaga,lagi pula dsignnya futurisktik pula . Hmmm pantas aja apabila Honda sebagai <b><a href="http://mhs.blog.ui.ac.id/rizfa.amalia/2012/05/15/sepeda-motor-injeksi-irit-harga-terbaik-cuma-honda/">Seped
17/05/12Gravatar
[Sepeda Motor Injeksi Irit Harga Terbaik Cuma Honda ]
blogwalking.....sekalian bawa Sepeda Motor Injeksi Irit Harga Terbaik Cuma Honda
17/05/12Gravatar
[sewa mobil solo ]
Haloo… Perkenalkan, MUMPUNI Sewa Mobil Kota Solo
Partner Anda utk Rental mobil Solo dan sewa mobil di perusahaan sewa mobil di Solo
17/05/12Gravatar
[Rental Mobil di Kota Solo ]
Sugeng Rawuh Wonten Kutho Solo - Welcome to Solo City - Central of Java
Tourist Car Rental Solo Destination
CAKRA KRESNA rental mobil Solo
17/05/12Gravatar
[Sewa Mobil di Kota Solo ]
RentCar Solo JAYATAMA
XENIA, TERIOS, INNOVA, APV, AVANSA, travello/pregio/elf (12seat) siap melayani anda

Hp.: 0271-2171160 atau 085647496060
17/05/12Gravatar
[RentCar Solo ]
HUBUNGI KAMI & DAPATKAN & NIKMATI LAYANAN YG MOBIL KOMPLIT.. HARGA IKUTTT
TATA MEDIA Sewa Mobil di Solo
* SEWA MOBIL HARIAN * BULANAN * KONTRAK * SHUTTLE * EVENT RENT * PARTNER
TELP.. 0817259479 / 0271-7044007
17/05/12Gravatar
[Rental Mobil Bengkulu ]
CV. JAYA TRAVEL Sewa mobil Bengkulu
MENYEDIAKAN JASA SEWA MOBIL BENGKULU, TRAVEL BENGKULU, TRAVEL KOTA BENGKULU, 081273419999
17/05/12Gravatar
[rental mobil di Solo ]
Manunggal sewa mobil di kota solo
RENTAL KAMI TDK MAHAL, NAMUN TETAP BERKUALITAS HANDAL…..
UNIT MOBIL :INOVA, APV, AVANSA, XENIA, TERIOS, TRAVELLO/PREGIO/ELF (12seat) siap melayani ANDA
PELAYANAN YANG KAMI UTAMAKAN: KENYAMANAN, KEAMANAN, KERAMAHTAMAHAN, HARGA KOMPETITIF, SERTA ORIENTASI KEPUASAN PELANGAN…
segera hubungi kami 085640
17/05/12Gravatar
[Rent Car Solo ]
Dengan pelayanan Driver yg ramah & sopan, dan berpengalaman di bidangnya akan memastikan bahwa anda akan nyaman sepanjang perjalanan baik dalam tugas mobile / perjalanan dinas, wisata, maupun keperntingan lain.

- PNS Rent Car - Rental Mobil Kota Solo

Wiratmo / Ratih
08122624335 - 08156747431
17/05/12Gravatar
[Rental Car Solo ]
rental mobil solo – TITIAN Mas Transport Solo
Informasi & Reservasi :
Telp.: 0856 2832 874 - 0821 3414 7050 - 0271-7576705
17/05/12Gravatar

Arsip Shoutbox

Script Prakiraan Cuaca dengan Google Weather API

20-02-2010 | By : Po3nX



Pernah liat info prakiraan cuaca yang di iGoogle? Pengen bisa pasang widget cuaca yang seperti itu? Berikut saya coba sharing script untuk menampilkan prakiraan cuaca yang mengambil data dari google weather api..



Langsung saja berikut adalah source phpnya, silahkan modifikasi tampilannya sesuai selera anda

1. Buat class yang berfungsi untuk mengambil data2 dari google weather api sebagai berikut:

class_weather.php
CODE
  1.  
  2. <?php
  3.  
  4. class weather
  5. {
  6.         public static $response;
  7.         public static $location;
  8.         public static $current;
  9.         public static $nextdays;
  10.         public static $error = false;
  11.        
  12.         public function weather()
  13.         {
  14.                 $this->location = 'Jakarta';
  15.         }
  16.        
  17.         public function get()
  18.         {
  19.                 if (empty($this->location)) {
  20.                         $this->error = true;
  21.                         return false;
  22.                 }
  23.                 $requestAddress = "http://www.google.com/ig/api?weather=".trim(urlencode($this->location))."&hl=en";
  24.                 $xml_str = file_get_contents($requestAddress,0);
  25.                 $xml = new SimplexmlElement($xml_str);
  26.                 if (!$xml->weather->problem_cause) {
  27.                         $this->response = $xml->weather;
  28.                         $this->parse();
  29.                 }else{
  30.                         $this->error = true;
  31.                 }
  32.         }
  33.        
  34.         public function parse()
  35.         {
  36.                 foreach($this->response as $item) {
  37.                         $this->current = $item->current_conditions;
  38.                         foreach($item->forecast_conditions as $new) {
  39.                                 $this->nextdays[] = $new;              
  40.                         }      
  41.                 }
  42.         }
  43.        
  44.         public function display()
  45.         {
  46.                 echo "<table border=0 cellspacing=0 cellpadding=3><tr>";
  47.                 foreach($this->nextdays as $new) {                     
  48.                         echo '<td align=center>';
  49.                                 echo '<b>'.$new->day_of_week['data'].'</b><br>';
  50.                                 echo '<img src="http://www.google.com/' .$new->icon['data'] . '"/>';
  51.                                 echo '<small>'.$new->condition['data'].'</small>';
  52.                                 echo ''.$this->convert($new->low['data']).' &#8451;';
  53.                                 echo '|'.$this->convert($new->high['data']).' &#8451;';
  54.                         echo '</td>';                  
  55.                 }      
  56.                 echo "</tr></table>";
  57.         }
  58.        
  59.         public function convert($value, $unit = "C"){
  60.                 switch($unit){
  61.                         case "C":
  62.                                 return number_format(($value - 32)/1.8);
  63.                         break;
  64.                         case "F":
  65.                                 return round($value * 1.8 + 32);
  66.                         break;
  67.                         default:
  68.                                 return $value;
  69.                                 break;
  70.                 };
  71.         }      
  72. }
  73. ?>
  74.  



2. Kemudian buat script untuk menampilkan class tersebut

cuaca.php
CODE
  1.  
  2. <?php
  3. require_once('class_weather.php');
  4.  
  5. $weather = new weather();
  6. if (!empty($_GET['loc'])) {
  7.         $weather->location = $_GET['loc'];
  8. }
  9. $weather->get();
  10. if($weather->error){
  11.         die('We couldn't find your location.');
  12. }else{
  13.         echo '
  14.         <table border=0 cellspacing=0 cellpadding=3><tr>
  15.                 <td colspan=3>Prakiraan Cuaca Kota :'.ucwords($weather->location).'</td></tr>
  16.                 <tr><td><img src="http://www.google.com/' .$weather->current->icon['data'] . '" /></td>
  17.                 <td><h2>'.$weather->current->temp_c['data'].' &#8451;</h2></td>
  18.                 <td>'.$weather->current->condition['data'].'<br/>
  19.                 '.$weather->current->humidity['data'].'<br/>
  20.                 '.$weather->current->wind_condition['data'].'</td>
  21.         </tr></table>
  22.         ';
  23.         $weather->display();
  24. }
  25. ?>
  26.  


anda bisa mencobanya di localhost atau mengupload ke server anda lalu membukanya pada browser anda, jika tidak ada kesalahan anda akan mendapatkan hasil kurang lebih seperti ini



Untuk mencoba script yang saya buat anda bisa membuka di halaman berikut:

http://po3nx.web.id/index.php?section=cuaca

untuk melihat prakiraan cuaca di daerah lain anda dapat menambahkan variable loc pada url misalkan begini

http://po3nx.web.id/index.php?section=cuaca&loc=yogyakarta <== untuk melihat prakiraan cuaca daerah Yogyakarta

catatan: belum semua kota di Indonesia atau didunia ada dalam database, tetapi sudah hampir semua kota yang merupakan ibukota propinsi di Indonesia sudah bisa dilihat di database.

Selamat mencoba semoga bermanfaat

Terimakasih

sumber class: PHPClasses
>> Arsip Artikel <<



Comment
[Jefry ]
script diatas cocok banget dipasang di web berita ni
btw, trims atas ilmunya
17/04/12Gravatar
[george ]
wow... nice post.... thank for your information
14/03/12Gravatar
[Po3nX ]
@jw: untuk ganti bahasa, lihat di bagian :
$requestAddress = "http://www.google.com/ig/api?weather=".trim(urlencode($this->location))."&hl=en";

ganti hl=en menjadi hl=id

kalo untuk ganti icon harus dibuatkan select case dan dipasang di baris

echo '<img src="http://www.google.com/' .$new->icon['data'] . '"/>';

jadi ambil dulu nilai $new->icon['data'] setelah itu baru di select case atau bisa juga menggunakan if
10/11/11Gravatar
[jw ]
hmm.. saya gak bisa merubahnya mas... digimanain
displaynya... boleh minta contoh gak mas... hehehe
09/11/11Gravatar
[Po3nX ]
Bisa bos, tinggal classnya diedit, lihat di class dibagian public function display()
18/06/11Gravatar
[jw ]
mas kalau bahasanya pakai bahasa indonesia bisa gak ya???

terus kalau di ganti iconnya bisa juga gak ya... hehhe

bnyak nanya ya mas.... mkasi sebelumnya..

menambah ilmu saya
11/06/11Gravatar
[Po3nX ]
@Sulle : monggo silahkan dicoba, semoga bermanfaat, thanks kunjungannya
31/03/11Gravatar
[sulle baik ]
boleh coba ni bang, di website ane. !

makasih yah, udah berbagi
30/03/11Gravatar
[Po3nX ]
Yup, tentu bisa, cuman caranya agak berbeda, kita perlu membuat modul baru, dan menginstallnya d joomla, tentang bagaimana cara membuat modul di joomla bisa dilihat di url :
http://docs.joomla.org/How_to_create_a_module
27/04/10Gravatar
[Juliana ]
Mas, kalo script ini dipake di web joomla bisa ga ya? Apa caranya juga sama? Thanks jawabannya.. :-)
27/04/10Gravatar
[Po3nX ]
Wologh... Paman Gugel dari hongkong.. weekkekek.. peace man (Paman)..
02/03/10Gravatar
[Tamu ]
Ganaz ew si om, paman gugel aja bisa komen disini, wakakakakak., kacaw
27/02/10Gravatar
[Paman Gugel ]
Nice post :D
20/02/10Gravatar