Langsung ke konten utama

Cara Membuat Aplikasi GIS Sederhana dengan PHP


Sebelum kita mulai membuat aplikasinya, ada baiknya kita mengetahui terlebih dahulu sistem yang akan kita pakai pada aplikasi GIS yang akan kita buat dan kita menggunakan Google map API untuk menampilkan georafis petanya.

GIS (Geographic Information System) 

GIS adalah singkatan dari Geographic Information System atau system informasi geografis. GIS merupakan suatu alat yang dpat digunakan untuk mengelola (input, manajemen, dan output) data spasial atau data yang bereferensi geografis. Setiap data yang merujuk lokasi di permukaan bumi dapat disebut sebagai data spasial bereferensi geografis. Misalnya data kepadatan penduduk suatu daerah, data jaringan atau saluran dan sebagainya.

Apa sih Google maps API?

Sebelum membahas Google Maps API, kita harus paham dulu dengan API. API adalah kependekan dari Application programming interface. Dengan bahasa yang lebih sederhana, API adalah fungsi fungsi  pemrograman yang disediakan oleh aplikasi atau layanan agar layananan tersebut bisa di integrasikan dengan aplikasi yang kita buat.

Jadi Google maps API adalah fungsi fungsi pemrograman yang disediakan oleh Google maps agar Google maps bisa di integrasikan kedalam Web atau aplikasi yang sedang buat. Contoh sederhanya misalkan anda ingin membuat Sistem informasi Geografis kampus di jogja, dengan memanfaatkan Google Maps API anda bisa membuat GIS tanpa perlu memikirkan Peta Jogja, anda tinggal pake Google maps dan memanggil fungsi fungsi yang dibutuhkan seperti menampilkan peta, menempatkan marker dan sabagainya.

Langkah - langkah :

Pertama kita include script google apinya : load library place untuk geocoder autocomplete dan kita set bahasanya ke bahasa indonesia.

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places&language=id"></script>

Download jquery library : sebelum memulai, silahkan download jquery library dan Jquery UI library-nya.

<script src="jquery.js"></script>

Membuat script untuk menentukan posisi awal

    var dest;
    var directionsDisplay;

    // memanggil service Google Maps Direction
 var directionsService = new google.maps.DirectionsService();
 directionsDisplay = new google.maps.DirectionsRenderer();

    $(document).ready(function() {
        var myOptions = {
            zoom: 4,
            center: new google.maps.LatLng(-2.548926,118.0148634),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        // posisi awal ketika halaman pertama kali dimuat
        var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);

        // memanggil fungsi geocoder autocomplete
        var autocomplete = new google.maps.places.Autocomplete((document.getElementById('dest')),{ types: ['geocode'] });
     
     /* 
      fungsi geolocation pada geocoder ini sangat penting
      agar pencarian daerah tujuan pada textbox ga ngaco 
     */
     if (navigator.geolocation) {
         navigator.geolocation.getCurrentPosition(function(position) {
             var geolocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
             autocomplete.setBounds(new google.maps.LatLngBounds(geolocation,geolocation));
         });
     }

 });

Membuat script trigger untuk menentukan posisi akhir atau tujuan dan jalur rutenya
 
$(document).ready(function() {
  // ketika tombol cari di klik, maka proses pencarian rute dimulai
  $("#cari").click(function(){

   dest = $("#dest").val();

   var defaultLatLng = new google.maps.LatLng(-2.548926,118.0148634);

   /* 
    nah, pada fungsi geolocation disini adalah
    ketika koordinat user berhasil didapat maka peta koordinat yang digunakan
    adalah koordinat user, namun jika tidak berhasil maka koordinat yang digunakan
    adalah koordinat default (pada variable defaultLatLng)
   */
      if (navigator.geolocation) {
          function success(pos) {
              drawMap(pos.coords.latitude,pos.coords.longitude);
          }

          function fail(error) {
              drawMap(defaultLatLng);
          }
          
          navigator.geolocation.getCurrentPosition(success, fail, { maximumAge: 500000, enableHighAccuracy:true, timeout: 6000 });

      } else {
          drawMap(defaultLatLng);  
      }

      function drawMap(lat,lng) {

          var myOptions = {
              zoom: 15,
              center: new google.maps.LatLng(lat,lng),
              mapTypeId: google.maps.MapTypeId.ROADMAP
          };

          var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);

          // kita bikin marker untuk asal dengan koordinat user hasil dari geolocation
          var markerorigin = new google.maps.Marker({
                 position: new google.maps.LatLng(parseFloat(lat),parseFloat(lng)),
                 map: map,
                 title: "Origin",
                 visible:false // kita ga perlu menampilkan markernya, jadi visibilitasnya kita set false
    });

          // membuat request ke Direction Service
          var request = {
     origin: markerorigin.getPosition(), // untuk daerah asal, kita ambil posisi user
        destination: dest, // untuk daerah tujuan, kita ambil value dari textbox tujuan
        provideRouteAlternatives:true, // set true, karena kita ingin menampilkan rute alternatif

        /**
         * kamu bisa tambahkan opsi yang lain seperti
         * avoidHighways:true (set true untuk menghindari jalan raya, set false untuk menonantifkan opsi ini)
         * atau kamu bisa juga menambahkan opsi seperti
         * avoidTolls:true (set true untuk menghindari jalan tol, set false untuk menonantifkan opsi ini)
         */
        travelMode: google.maps.TravelMode.DRIVING // set mode DRIVING (mode berkendara / kendaraan pribadi)
        /**
         * kamu bisa ganti dengan 
         * google.maps.TravelMode.BICYCLING (mode bersepeda)
         * google.maps.TravelMode.WALKING (mode berjalan)
         * google.maps.TravelMode.TRANSIT (mode kendaraan / transportasi umum)
         */
    };


    directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
          directionsDisplay.setDirections(response); 
        }
      });
    // menampiklkan rute pada peta dan juga direction panel sebagai petunjuk text
      directionsDisplay.setMap(map);
      directionsDisplay.setPanel(document.getElementById('directions-panel'));
      
      // menampilkan layer traffic atau lalu-lintas pada peta
      var trafficLayer = new google.maps.TrafficLayer();
      trafficLayer.setMap(map);

      }
  });
 });

Membuat tampilan pada HTML, sehingga dapat tampil pada browser

<input type="text" id="dest" style="width:500px;">
<button type="button" id="cari">Cari Rute</button>
<br><br>
<div id="directions-panel" style="float:right; width:48%; height:600px; overflow:auto;"></div>
<div id="map-canvas" style="width:50%; height:600px;"></div>

Hasil akhir programnya akan seperti dibawah ini :

 

Komentar

Postingan populer dari blog ini

13 Fakta Kerusakan Peringatan Maulid Nabi

Dalam peringatan maulid yang diselenggarakan, sering terjadi kemungkaran, bid'ah dan pelanggaran terhadap syariat Islam. Peringatan maulid itu sendiri tidak pernah diselenggarakan oleh Rasulullah saw, juga tidak oleh para sahabat, tabi'in dan imam yang empat, serta orang-orang yang hidup di abad-abad kejayaan Islam. Lebih dari itu, tak ada dalil syar'i yang menyerukan penyelenggaraan maulid Nabi saw tersebut. Untuk lebih mengetahui hakikat maulid, marilah kita ikuti uraian berikut: 1. Kebanyakan orang yang menyelenggarakan peringatan maulid, terjerumus pada perbuatan syirik. Yakni ketika mereka menyenandungkan yang artinya, "Wahai Rasulullah, berilah kami pertolongan dan bantuan. Wahai Rasulullah, engkaulah sandaran (kami). Wahai Rasulullah, hilangkanlah derita kami. Tidaklah derita (itu) melihatmu, melainkan ia akan melarikan diri." Seandainya Rasulullah saw mendengar senandung tersebut, tentu beliau akan menghukuminya syirik besar. Sebab pemberi

Definisi Algoritma dan Contohnya dalam Kehidupan Sehari - Hari

Definisi Algoritma   Algoritma adalah urutan langkah - langkah logis untuk penyelesaian masalah yang disusun secara sistematis. Kata logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Contoh Algoritma dalam kehidupan sehari - hari                  1.        Algoritma menulis surat : a.     Mempersiapkan kertas dan amplop b.     Mempersiapkan alat tulis, seperti pena atau pensil c.      Mulai menulis d.     Memasukkan kertas ke dalam amplop e.     Pergi ke kantor pos untuk mengeposkan surat tersebut       2.        Algoritma menggunakan telepon umum : a.     Angkat gagang telepon b.     Masukkan koin c.      Tekan nomor yang dituju d.     Bicara e.     Letakkan gagang telepon       3.

Mengatasi Lupa Password Windows di Laptop/PC

Untuk menjaga privasi di komputer,  seseorang sangat perlu menambahkan password pada komputernya. Namun hal yang paling menjengkelkan jika kita lupa password tersebut, untuk mengatasi hal itu saya akan memberikan solusi untuk bagaimana membuka komputer anda yang terkunci oleh password yang terlupa. Berikut beberapa metode yang bisa anda lakukan: 1. Menghilangkan password lewat safemode (windows xp)  > restart komputer anda  > tekan f8 - pilih safemode  anda akan masuk ukun Administrator  > klik start - control panel - user account  > pilih account yang berpassword - pilih remove password  > setelah selesai, restart komputer  2. Masuk menggunakan Administrator (windows 7) > pada login screen tekan "ctrl+alt+delete" sebanyak 2 kali  > kemudian ketik Administrator dikotak username dan biarkan password dalam keadaan kosong  > tekan enter  > pergi ke control panel - user account untuk mengubah passwordnya  Catatan :