Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Minggu, 27 Desember 2015

GEOCODING

Pernahkah anda berpikir bagaimana cara mengkonversi LatLong kedalam alamat atau sebaliknya? Jika pernah, anda tidaklah sendirian karena aplikasi pemetaan online memang sangat membutuhkan fungsi ini. Untungnya, sekarang dengan memanfaatkan Google Maps Geocoding API yang bisa mengkonversi alamat ke koordinat peta (latlng) atau mengkonversi koordinat peta ke alamat dengan mudah.
Tutorial ini merupakan pengembangan dari contoh kode yang disediakan di Website Google Map API, anda bisa merujuknya kesini dan kesini.

Konversi alamat menjadi  Latitude, Longitude

Konversi dari alamat ke latitude dan longitude disebut dengan geocoding. Misal kita bisa mengkonversi alamat seperti  Yogyakarta menjadi ( -7.797224, 110.36879). Untuk mengkonversinya, kita menggunakan Geocoding API dalam bahasa javascript. Potongan kodenya adalah sebagai berikut:
?
source code
function getAlamat() {
  var address = document.getElementById('address').value;
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results[0].geometry.location);
      var marker = new google.maps.Marker({
          map: map,
          position: results[0].geometry.location
      });
    infowindow.setContent("Latitude: "
    +results[0].geometry.location.lat()+
"<br>  Longitude: "+results[0].geometry.location.lng());
        infowindow.open(map, marker);
   
    } else {
      alert('Geocode gagal karena : ' + status);
    }
  });
}
Fungsi getAlamat() mengambil nilai dari value DOM id Address, dalam hal ini adalah inputbox. Lalu, script memanggil fungsi API geocoder.geocode( { 'address': address} untuk mengkonversi alamat tadi kedalam latitude dan longitude. Jika konversi sukses, akan ditampilkan peta dengan sebuah marker beserta infowindows yang menampilkan koordinat peta dari alamat lokasi yang anda inputkan. Jika gagal, maka akan ditampilkan pesan error.
Tampilan contoh dari geocoding tampak seperti gambar dibawah ini.

Konversi alamat ke LatLong
Konversi alamat ke LatLong
User memasukan nama dari sebuah lokasi (misalkan disini adalah jakarta), maka ketika user mengklik tombol ‘konversi alamat ke LatLong’ maka otomatis script akan mengkonversi alamat tadi kedalam format koordinat peta kemudian peta jakarta akan dimunculkan di peta, Untuk memperjelas akan ditampilkan informasi dalam bentuk infowindows berupa Latitude dan longitude hasil konversi.
Anda bisa mencoba sendiri demonya di disini

Konversi  Latitude, Longitude  menjadi alamat

konversi  koordinat latitude,longitude  menjadi alamat manusia disebut dengan reverse geocoding. Ini adalah proses kebalikan dari geocoding. Misal kita bisa mengkonversi  koordinat ( -7.797224, 110.36879) menjadi  alamat jalan atau nama kota. Untuk  ini, kita juga menggunakan Geocoding API . Potongan kodenya adalah sebagai berikut:
?
source code
function getLatLng() {
  var input = document.getElementById('latlng').value;
  var latlngStr = input.split(',', 2);
  var lat = parseFloat(latlngStr[0]);
  var lng = parseFloat(latlngStr[1]);
  var latlng = new google.maps.LatLng(lat, lng);
  geocoder.geocode({'latLng': latlng},
 function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      if (results[1]) {
        map.setZoom(12);
        marker = new google.maps.Marker({
            position: latlng,
            map: map
        });
        infowindow.setContent(results[1].formatted_address);
        infowindow.open(map, marker);
     
      } else {
        alert('Tidak ditemukan');
      }
    } else {
      alert('Geocoder  gagal: ' + status);
    }
  });
}
Fungsi akan mendapatkan koordinat latitude dan longitude dengan format (lat,lng) dari inputbox. Kemudian, fungsi akan memecah latitude dan longitude dan menyimpannya kedalam variable lat dan lng. Selanjutnya, fungsi memanggil fungsi API geocoder.geocode({'latLng': latlng}

KOnversi latLong menjadi alamat jalan atau kota
Konversi latLong menjadi alamat jalan atau kota

Dalam contoh ini, user memasukan koordinat -6.903932,107.608629, hasil dari koordinat ini dikonversi oleh fungsi reverse geocoding menjadi alamat
Taman Sari, Bandung Wetan, Bandung, West Java, Indonesia
, lalu hasil ditampilkan di peta. Anda bisa mencoba sendiri demonya di disini

Download source code?

Untuk source code lengkapnya, anda cukup buka demonya, lalu VIEW SOURCE dimasing masing demo.
Dalam contoh diatas, Peta yang muncul hanyalah sebagai alat bantu saja. Kuncinya ada pada fungsi geocoder.geocode(). Anda bisa melihat referensi lengkapnya di Geocoding API Reference . Dengan memanfaatkan Geocoding API, ternyata melakukan konversi antara alamat dan koordinat tidak sesulit yang kita duga. Semoga artikel ini bermanfaat.

Tidak ada komentar:

Posting Komentar