Sabtu, 06 Juli 2013

Geocoding



Salah satu service developers.google.com/maps yang tidak memerlukan API adalah Geocoding , untuk mengkonversikan suatu alamat atau lokasi menjadi koordinat geografis, dan sebaliknya.  Koordinat suatu lokasi adalah posisi latitude dan longitude. Format request geocoding harus dalam bentuk sebagai berikut:http://maps.googleapis.com/maps/api/geocode/{output}?{parameters}
output adalah salah satu dari json atau xml.Parameter yang diperlukan di antaranya adalah address (alamat/lokasi, bila ingin mendapatkan koordinat) atau latlng (koordinat, bila ingin mendapatkan lokasi), dan sensor (bernilai true/false, mengindikasikan apakah request berasal dari device yang memiliki sensor lokasi misalnya smartphone atau tablet). Response yang diberikan selengkapnya bisa dilihat di dokumentasi geocoding pada URL yang disebutkan di atas. Beberapa yang akan kita manfaatkan adalah status (untuk menunjukkan status pencarian), formatted_adresses (alamat lengkap), lat (untuk menunjukkan koordinat latitude), dan lng (untuk menunjukkan koordinat longitude).
Berikut contoh kodenya, anda bisa ambil dari script untuk pencarian dengan Script PHP(PHP: Hypertext Preprocessor) .
<?php
 $keyword= isset($_GET['keyword']) ? urlencode($_GET['keyword']) : '';
?>
<html>
<head>
<title>Pencarian lokasi</title>
</head>
<body>
<h2>Pencarian lokasi</h2>
<form name='Tanya' method='GET'>
Lokasi:
<input id="keyword" name='keyword' type='text' value='<?php echo $keyword ?>'>
<input type="submit" name="cari" value="Search">
</form>
<?php
  if ($keyword != '')
  { $url = "http://maps.googleapis.com/maps/api/geocode/json?address= $keyword&sensor=false";
    $result = file_get_contents($url);
$result_json = json_decode($result);
    echo '<div id="HasilPencarian">';
if ($result_json->status == 'OK')
{ echo "Ditemukan ".sizeof($result_json->results)." hasil<br>";
for ($i=0; $i<sizeof($result_json->results); $i++)
      { $lat = $result_json->results[$i]->geometry->location->lat;
    $lng = $result_json->results[$i]->geometry->location->lng;
echo '<p>Lokasi: '.$result_json->results[$i]->formatted_address.', ';
 echo 'Latitude: '.$lat.', Longitude: '.$lng.'<br/>';
      }
}
else
{ echo "Error: ".$result_json->status;
}
echo '</div>';
  }
?>
</body>
</html>

Setelah Mengcoding skrip php diatas lalu kita simpan skrip itu dengan nama geocoding.php pada folder htdocs di xampp anda dan dipastikan xammp sudah terinstal dikomputer anda untuk cara instal xampp dijelaskan pada aritkel lain.
Setelah itu kita coba jalakan skirp tadi dengan memasukan pencarian misalnya kota bondowoso maka akan tampil seperti berikut.


Semoga Bermanfaat. . .!

2 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  2. Warning: file_get_contents(http://maps.googleapis.com/maps/api/geocode/json?address= medan&sensor=false): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in C:\xampp\htdocs\kios\admin\geocoding.php on line 18

    Notice: Trying to get property of non-object in C:\xampp\htdocs\kios\admin\geocoding.php on line 21

    Notice: Trying to get property of non-object in C:\xampp\htdocs\kios\admin\geocoding.php on line 31
    Error:

    BalasHapus