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.
Fungsi
Tampilan contoh dari geocoding tampak seperti gambar dibawah ini.
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
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
Dalam contoh ini, user memasukan koordinat
Taman Sari, Bandung Wetan, Bandung, West Java, Indonesia, lalu hasil ditampilkan di peta. Anda bisa mencoba sendiri demonya di disini
Dalam contoh diatas, Peta yang muncul hanyalah sebagai alat bantu saja. Kuncinya ada pada fungsi
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: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); } }); } |
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.
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.
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: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); } }); } |
geocoder.geocode({'latLng': latlng}
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.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