Beberapa waktu lalu ada yang menanyakan contoh script hitung php dengan contoh kasus perhitungan tarif ojek, menggunakan jarak berdasar google map. Nah, kemarin menemukan script yang cocok di stackoverflow , dan akhirnya dapat ide untuk sedikit memodifikasinya. Jadilah contoh script php hitung tarif ojek berdasarkan jarak di google map.
Script ini sebenarnya sangat simple, memanfaatkan google map API. jangan tanya lebih jauh ya, saya sendiri gak ngerti tentang google map API.
Singkatnya silahkan dilihat script php hitung tarif ojek menggunakan google map ini. Bisa didownload dan dipelajari, serta dikembangkan sesuai kebutuhan aplikasi php yang sobat buat.
Cara kerja script ini yaitu dengan memasukan nama tempat di form dari dan nama tempat tujuan. Masukan nama tempat, jika perlu sedetail mungkin, misal nama gedung, nama jalan, dan nama kota nya. Google Map akan mencari lokasi tersebut dan menghitung jaraknya. Lalu jaraknya tersebut dikalikan dengan tarif ojek, sehingga menghasilkan Biaya/ tarif ojek yang harus dibayar.
code php untuk halaman depan (index.php) yang menampilkan form terdiri dari input untuk lokasi awal dan lokasi tujuan ojek, sebagai berikut:
<!DOCTYPE HTML> <html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> </head> <body> <br/> <div class="row"> <div class="col-md-4"></div> <div class="col-md-4"> <center><img src='ojek.jpg' class='img-circle'></center><br/></center> <div class="alert alert-info" role="alert"> Masukan nama Gedung, jalan, dan kota, selengkap mungkin:<br/><br/> contoh: <br/>Rumah Sakit Kartini, Jepara<br/>Pantai Bandengan, Jepara </div> <form action='hitung.php' method='post'> <div class="form-group"> <label >Dari</label> <input type="text" class="form-control" name="dari" placeholder="nama gedung,jalan,lokasi,kota"> </div> <div class="form-group"> <label >Tujuan</label> <input type="text" class="form-control" name="tujuan" placeholder="nama gedung,jalan,lokasi,kota"> </div> <div class="form-group"> <center><button type="submit" class="btn btn-primary">Submit</button></center> </div> </form> <br/><br/><br/><br/><br/><br/> </div> </div> </body> </html>
Sedangkan untuk halaman hitung.php yaitu halaman yang menapilkan hasil hitung tarif ojek, menampilkan jarak, estimasi tempuh, dan tarif ojek. Code PHP nya sebagai berikut:
<html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> </head> <body> <?php $dari= $_POST['dari']; $tujuan= $_POST['tujuan']; $from = "$dari"; $to = "$tujuan"; $from = urlencode($from); $to = urlencode($to); $data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=en-EN&sensor=false"); $data = json_decode($data); $time = 0; $distance = 0; foreach($data->rows[0]->elements as $road) { $time += $road->duration->value; $distance += $road->distance->value; } $tarif="3"; $biaya = $distance * $tarif ; echo" <div class='row'> <div class='col-md-4'></div> <div class='col-md-4'> <br/> <center><img src='ojek.jpg' class='img-circle'></center><br/></center> <table class='table'> <tr class='active'><td>";?> <?php echo "<span class='label label-default'>Dari:</span><br/> ".$data->origin_addresses[0];?> <?php echo"</td></tr> <tr class='active'><td>";?> <?php echo "<span class='label label-default'>Tujuan:</span><br/> ".$data->destination_addresses[0];?> <?php echo"</td></tr> </table><br/><table class='table'> <tr class='warning'><td>Waktu</td><td> ".$time." detik</td></tr> <tr class='success'><td>Jarak</td><td> $distance meters</td></tr> <tr class='danger'><td>Tarif</td><td>Rp 3000 per KM</td></tr> <tr class='info'><td>Biaya Ojek</td><td>$biaya</td></tr> </table> </div> </div> "; ?> </body> </html>
Untuk merubah tarifnya, silahkan lihat code php nya, saya menentukan dengan Rp 3000 per KM. Sperti saya bilang, script ini masih sangat sederhana, .. PR nya silahkan dikembangkan, misalnya dengan tarif minimal, atau setelah berapa KM tarifnya berbeda, .. silahkan dipirkan dan dimodifikasi hehehe..
Script php hitung ongkos ojek ini menggunakan css bootstrap , sehingga tampilannya menarik untuk dilihat mata. Bagaimana? silahkan berikan komentar dan tanggapannya.
Untuk melihat demo scriptnya, dapat dilihat di sini:
Download script php hitung tarif ojek berdasarkan jarak di google map
password zip : www.bayuajie.com
UPDATE:
Beberapa orang menghubungi saya melalui Whatsapp, menanyakan tentang script ini. script ini sudah tidak bisa,karena google mendisable google fasilitas map api beberapa bulan yang lalu. Jadi sekarang tidak memungkinkan lagi menggunakan fasilitas yang berhubungan dan google map menggunakan query php seperti dulu lagi. Untuk memanfaatkan google map dan fasilitas lainnya, sepertinya kita diwajibkan untuk mendaftarkan diri ke account google developer,yang tidaklah gratis.
bagaimana cara menyimpan di database mysql dari, tujuan , waktu, tarif dan biaya mas…?
halo,mas candra, orang kebumen ya? wah sama dong
cara menyimpan ke database ya tinggal pake query insert saja,mas.
array tujuan,waktu ,dan tarif diinsertkan ke dalam table database,menggunakan query insert.
bisa mencontoh script menyimpan, yang ada di script php saya yang lainnya.
Apakah jarak yang dimaksud adalah panjang jalannya? Atau jarak titik A ke titik B dengan menarik garis lurus?
Mas Candra, bagaiman kalau MAP API menggunakan leaflet