Cara mudah belajar pemrograman komputer

Selasa, 08 Juli 2014

Menambahkan dan menampilkan data dari database ke peta google map

Halo sahabat programmer..
Mari kita lanjutkan lagi belajar kita tentang membuat web gis dengan memanfaatkan google map. tutorial ini adalah lanjutan dari dua tutorial kita sebelumnya yaitu Dasar Pemrograman web GIS dengan Google Map API v3 dan Menambahkan fungsi klik kanan untuk menambahkan marker Pada google map api v3 Jika anda belum membaca saya sarankan untuk menyempatkan membacanya terlebih dahulu.

Baiklah, pada tulisan kali ini programmer goblog bakalan membahas tentang menyimpan dan mengambil data koordinat titik pada database mysql menggunakan PHP sebagai bahasa pemrograman server side nya.

Pada tutorial sebelumnya kita telah membahas tentang apa itu web gis dan juga membahas bagaimana menambahkan titik pada peta. pada tutorial kali ini kita akan belajar bagaimana menyimpan data koordinat titik tersebut beserta keteranganya kedalam database mysql.

Pertama kita akan meyiapkan database nya terlebih dahulu, silahkan sobat buat database dan table nya menggunakan sintak sql berikut.
  


create database belajargis;
use belajargis;
create table tempat(
    id_tempat int not null auto_increment primary key,
    latlng varchar(100) not null,
    nama_tempat varchar(100) not null,
    keterangan_tempat text
    )

nah kira kira seperti gambar dibawah ini struktur database yang kita buat.

baiklan, selanjutnya kita akan menambahkan form untuk tambah data pada script map.html kita dari tutorial sebelumnya.

tambahkan baris kode berikut di tempat yang bertanda biru seperti gambar dibawah ini.

 var form = '<h4>Tambah Data</h4><form id="formtambahdata" method="post" action="simpan.php"><br><input type="text" id="nama" placeholder="nama tempat" name="nama"><br><textarea id="keterangan" name="keterangan" placeholder="Isi Keterangan tempat"></textarea><br><input type="text" id="latlng" name="latlng" value="'+lat+','+lng+'"><br><input type="submit" value="Simpan"></form>';  


Refresh halaman web kita, hasilnya kira-kira seperti gambar dibawah ini.

nah selanjutnya kita akan membuat sebuah file simpan.php untuk menyimpan data dalam form tersebut ke database.

 <?php  
 mysql_connect('localhost','root',''); // membuka koneksi ke database mysql  
 mysql_select_db('belajargis'); //memilih database yang akan digunakan  
 $nama_tempat = $_POST['nama']; // mengambil data dari form  
 $keterangan = $_POST['keterangan'];// mengambil data dari form  
 $latlng = $_POST['latlng'];// mengambil data dari form  
 $query = "insert into tempat (nama_tempat,keterangan_tempat,latlng) values('$nama_tempat','$keterangan','$latlng')";// query untuk insert data ke database  
 if(mysql_query($query)){  
      header('location:map.html'); // mengarahkan ke halaman map.html lagi setelah data berhasil tersimpan  
 }  
 ?>  

mari kita coba inputkan data.
caranya pada peta kita klik kanan, klik ok kemudian akan muncul sebuah marker baru. arahkan kursor mouse ke marker yang baru tersebut. dan akan tampil form seperti gambar dibwah ini.
Inputkan data pada kolom nama tempat dan keterangan.


Selanjutnya kita cek di database mysql kita apakah data berhasil tersimpan.
ya, data tersimpan dengan benar.
dengan cara yang sama coba kita tambahkan beberapa data lagi,
kok di peta belum muncul yah data yang kita tambahkan??? muncul pertanyaan seperti ini di benak anda?
Ya, itu karena kita belum menambahkan script untuk mengambil data ini dari database.
Selanjutnya kita akan menampilkan data dari database ke peta.
pertama kita rename dulu file map.html kita agar menjadi map.php
selanjutnya kita akan menyisipkan beberapa baris kode php kedalam file map.php tersebut.
buka file map.php dan cari baris kode yang ditandai dalam kotak putih.
 kemudian ganti dengan kode berikut.

  <?php  
           mysql_connect('localhost','root','');  
           mysql_select_db('belajargis');  
           $query="select * from tempat";  
           $datas = mysql_query($query);  
           while ($data=mysql_fetch_array($datas)) {  
             ?>  
             ["<?php echo $data['nama_tempat'];?>", <?php echo $data['latlng']; ?> ,1, "<h4><?php echo $data['nama_tempat'];?></h4><p><?php echo $data['keterangan_tempat'];?></p>"],  
             <?php  
           }  
         ?>  

sehingga menjadi seperti gambar berikut ini.
Baiklah jika sudah, mari kita buka file map.php kita tadi dengan menggunakan browser kesayangan sobat masing masing.
kira kira hasilnya seperti gambar dibawah ini.

nah, sekarang data yang tampil sudah sesuai dengan data yang kita tambahkan tadi,,
sebagai catatan, file simpan.php dan map.php harus berada dalam satu folder/directory ya, dan harus didalam web server, dalam kasus penulis kedua file ini berada didalam folder 'belajargis' didalam folder htdocs pada web server xampp..

Tambahan, jangan lupa ganti text header('location:map.html'); di file simpan.php menjadi header('location:map.php');

Baiklah, sampai disini kita sudah bisa menambahkan dan menampilkan data dari database ke peta google map.
Bagi yang membutuhkan file lengkapnya silahkan download disini
Jika sobat programmer merasa tulisan ini bermanfaat, jangan lupa untuk share agar orang lain juga bisa dengan mudah menemukan tulisan ini. terimakasih telah berkunjung dan belajar bersama Programmer GoBlog..

58 komentar:

  1. di saya kok form nya ga mu muncul ya

    BalasHapus
    Balasan
    1. tidak muncul bagaimana mas? bisa lebih dirinci pertanyaannya?

      Hapus
    2. mas numpang nanya ini kenapa yah gk tampil formnya cuma tulisan form saja yg tampil padahal sudah saya ikuti tambahkan di var form dan di ubah di bagian html: "form" form input dan tombol simpannya gk tampil seperti di gambar ini
      https://2.bp.blogspot.com/-MVSYj-SsGek/U7rqNYa287I/AAAAAAAABqk/MAsT_YabTDs/s1600/Screenshot+(52).png

      Hapus
  2. Mas,tolong dong script untuk membuat peta kota medan dari googlemap ke dalam php..
    Thx sblumnya

    BalasHapus
  3. admin cara memanggil kordinat pada google map api bagai mana. contoh saya menggunakan combobox yang tampil cuma nama lokasi terus saya klik maka titik iconnya tepat pada lokasi yang di pilih trus mempunyai jalan menuju ke lokasi tersebut dari area yang sudah di tentukan

    BalasHapus
    Balasan
    1. terimakasih sudah berkunjung.
      untuk menjawab pertanyaan anda, ada dua cara. Kita bisa mengambil koordinat suatu lokasi dengan memanfaatkan fasilitas geocoding milik google map api
      http://maps.google.com/maps/api/geocode/json?address=universitas+lampung
      dengan mengambil json respons dari lokasi tersebut,
      atau kalu kita mengikuti tutorial diatas yaitu dengan terlebih dahulu menyimpan lokasi coordinat di databse, kita tinggal mengambil data koordinat tersebut untuk selanjutnya dijadikan destinasi rute.

      nah kalau data koordinat sudah berhasil didapat baik dari database maupun dari geocoding map api, selanjutnya kita bisa menggambar rute dengan menggunakan fungsi callRoute.

      function calcRoute() {
      if(titiksaya!=''){


      var start = titiksaya;
      var end = titiktujuan;
      var request = {
      origin:start,
      destination:end,
      travelMode: google.maps.TravelMode.DRIVING
      };
      directionsService.route(request, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
      }
      });
      }else{
      alert("Lokasi anda belum ditentukan");
      }
      }

      Hapus
  4. mas saya mau tanya. script untuk menampilkan icon (marker) merah itu di bagian mana yaa..
    terima kasih.

    BalasHapus
    Balasan
    1. untuk menambahkan marker bisa menggunakan fungsi
      setMarkers(map, sites);

      lengkapnya silahkan mengacu pada tulisan di link ini disini

      Hapus
  5. gan kalau cuma mau nampilin data yang terakhir doang gimana ??
    tlg d reply y gan lagi butuh

    BalasHapus
    Balasan
    1. Sllahkan diubah querynya.
      "select * from tempat order by id_tempat desc limit 1"

      Hapus
  6. supaya markernya bisa diubah gmn kak?

    BalasHapus
    Balasan
    1. maksudnya mengubah gambar markernya?
      kalau itu yang dimaksud, cukup dengan menambahkan baris kode berikut di dalam function setMarker(map,markers){
      //tambahkan disini
      var image = 'urlgambar/images/gambarmarker.png';

      kemudian pada bagian

      var marker = new google.maps.Marker({
      //tambahkan ini
      icon : image,
      //kode seterusnya

      Hapus
    2. klo bgtu semua marker sama dong ya?
      klo misalnya setiap marker berbeda gambar gmn kak?

      Hapus
    3. dengan mengembangkan cara diatas, kita bisa membuat marker yang berbeda beda di setiap tempat.
      tinggal kita kembangkan dengan if else aja.

      misal.
      var image = 'urlgambar/images/gambarmarker.png';
      var image1 = 'urlgambar/images/gambarmarker1.png';
      var image2 = 'urlgambar/images/gambarmarker2.png';

      var marker = new google.maps.Marker({
      //tambahkan ini
      icon : function(){
      if(kondisi){
      return marker;
      }else if(kondisi1){
      return marker1;
      }else{
      return marker2;
      }
      },
      //kode seterusnya

      Hapus
    4. bang cara menambahkan gambar di dalam info window g mna?

      Hapus
  7. mas maaf, klo utk pencarian lokasi berdasarkn database bisa ngga? thx

    BalasHapus
    Balasan
    1. Tentu bisa..
      tinggal ubah aja query select nya berdasarkan kriteria..
      $query="select * from tempat where .......";

      Hapus
    2. ko yg ganti icon marker tadi ga bisa ya min
      petanya juga malah gamuncul

      Hapus
  8. gan itu bisa gak kalau markernya d ganti garis yang terhubung ke masing2 titik ?
    kalau bisa caranya gimana terimakasih

    BalasHapus
  9. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  10. mas klo utk script hapusnya gmn mas? terimaksh

    BalasHapus
    Balasan
    1. script untuk hapusnya kurang lebih sama dengan insert, cuma diganti query nya aja jadi "delete from..."
      dengan id yang kita kirim dari click pada marker.

      Hapus
  11. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  12. aya mau tanya, setelah server input data, kemudian muncul marker lalu untuk menyembunyikan marker tersebut bagaimana ya? jadi marker hanya muncul ketika user klik pada daerah yang telah diinput di peta oleh server.

    BalasHapus
  13. The file you are trying to download is no longer available

    upload lagi dong filenya. please

    BalasHapus
  14. Filenya dah kehapus mas.upload lagi dong...

    BalasHapus
  15. mengomentari post yang tanggal 7 Desember 2015 mas, mau nanya untuk yang return marker itu fungsinya bgmana?

    BalasHapus
  16. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  17. Min linknya broken tolong di update dong, makasih sebelumnya :)

    nice post !

    BalasHapus
  18. mau nanya..
    waktu kita klik simpan knpa yg muncul file simpan.php nya..
    data nya juga gk tersimpan k database

    BalasHapus
  19. Min linknya broken tolong di update dong, makasih sebelumnya

    BalasHapus
  20. min link nya mati bisa kasi link alternatif,, ke kilua546@gmail.com butuh bnget

    BalasHapus
  21. mas ini kalau mengambil atau menampilkan dari database tadi ke android, bisa ga ya , ada referensi ?? artikel atau tutorial mungkin untuk menampilkan ke client android nya, terimakasih mohon bantuannnya

    BalasHapus
    Balasan
    1. tergantung develop android nya pake apa? kalo pake cordova/ionic atau yang berbasis js/html pake cara ini bisa kok.

      Hapus
  22. om link dongloadnya mati, mohon link barunya dong atau kirim script ke rusbandrip@gmail.com, makasih banya ya om

    BalasHapus
  23. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  24. terima kasih gan sebelumnya sudah mau share mengenai SIG google map api,
    saya punya pertanyaan, apa bisa penanda/marker itu di pindah kan setelah kita menandai di peta tsb?
    Dengan asumsi admin salah menandai pada peta tersebut

    BalasHapus
  25. gan, mohon share dong. file nya broken. imanjoko1991@gmail.com.
    Thx berat gan :-)

    BalasHapus
  26. linknya mati gan, tolong diupdate donk

    BalasHapus
  27. "Laman ini tidak memuat Google Maps dengan benar. Lihat konsol JavaScript untuk mengetahui detail." tidak bisa tampil "map.html" dibelakang server saya pakai server WAMP

    BalasHapus
  28. Gan Link downloadnya udah Mati

    BalasHapus
  29. Mas tolong link dowloadnya diupdate dong atau mgkn bisa dikirimkan ke email Rabiahtpwl@gmail.com, saya butuh untuk referensi membuat tugas, terimakasih sebelumnya ...

    BalasHapus
  30. mas..,
    ada tutorial Auto menambahkan Lokasi ke databases Server kita saat orang lain mengakses web kita

    BalasHapus
  31. Mas Jaylani,
    link nya udh mati mas, tlg di perbarui dong mas, atau tlg kirim ke email saya rangga290714@gmail.com penting bgt mas untuk keperluan uas, terimakasih,,,

    BalasHapus
  32. Mas mau tanya gimana caranya klo menambah data yg terakhir itu markernya jadi beda sendiri?

    BalasHapus
  33. Mas bisa gak manambahkan form pencarian misalnya berdasarkan nama atau kecamatan?

    BalasHapus
    Balasan
    1. misalnya kita cari berdasarkan kecamatan, maka semua icon yang muncul otomatis akan berdasarkan pada kecamatan yang dipilih, bisa gak mas?

      Hapus
  34. Thanks gan . Membantu sekali

    BalasHapus
  35. Siahkan Pemesanan Wisata Bromo Malang Batu, di web kami https://www.exploreds.tours/
    Terimakasih :)

    BalasHapus
  36. terimakasih gan, cocok buat refrensi program gis saya

    kunjungi juga blog saya di https://ahmadiqbal.mahasiswa.atmaluhur.ac.id/
    dan kampus saya http://www.atmaluhur.ac.id/

    BalasHapus
  37. gan linknya mati, bisa bantu kirim ke email hadi.setiono@gmail.com

    makasih gan

    BalasHapus
  38. kak mau nanya gimana cara nya agar data yang udah kita input dan udah tampil di google maps agar bisa di klik ya kak? terimakasih mohon bantuannya

    BalasHapus
  39. saya mau tanya kenapa ya peta nya setiap di tambah script php selalu tidak muncul

    BalasHapus
  40. Linknyaa unavailable gan.. bisa kirim ke email gan bainirizkie@gmail.com

    BalasHapus
  41. bagmna kita bisa tahu titik kordinat yg dekat di rute yg kita udh buat kk...

    BalasHapus

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.