|
Metode dan Algoritma | Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL . Anda bisa melakukan konsultasi tentang Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL melalui form di samping kanan !!!
Kode program di bawah ini berguna untuk mencari jarak berdasarkan dua buah titik koordinat GPS (latitude dan longitude) sehingga dihasilkan sebuah jarak dalam meter atau kilometer.
1.Program pertama dalam bahasa SQL di database MySQL, ini berguna jika anda ingin membuat program server yang akan memberi data dalam bentuk JSON atau XML ke perangkat mobile misalnya Android yang menampilkan jarak dua titik yang datanya tersimpan di server web atau digunakan oleh web yang menampilkan Google Map dan mengambil data dengan AJAX dalam bentuk XML atau JSON.
jarakxml.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("peta");
$center_lat = $_GET["lintang"];
$center_lng = $_GET["bujur"];
$radius = $_GET["radius"];
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
$query = "SELECT nama, alamat, lintang, bujur, deskripsi, foto, ( 6371 * acos( cos( radians($center_lat) ) * cos( radians( lintang ) ) * cos( radians( bujur ) - radians($center_lng) ) + sin( radians($center_lat) ) * sin( radians( lintang ) ) ) ) AS jarak FROM objek_wisata HAVING jarak < $radius ORDER BY jarak";
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error());
}
header("Content-type: text/xml");
while ($row = @mysql_fetch_assoc($result)){
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("nama", $row['nama']);
$newnode->setAttribute("alamat", $row['alamat']);
$newnode->setAttribute("deskripsi", $row['deskripsi']);
$newnode->setAttribute("foto", $row['foto']);
$newnode->setAttribute("lintang", $row['lintang']);
$newnode->setAttribute("bujur", $row['bujur']);
$newnode->setAttribute("distance", $row['jarak']);
}
echo $dom->saveXML();
?>
jarak_json.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("peta");
$center_lat = $_GET["lintang"];
$center_lng = $_GET["bujur"];
$radius = $_GET["radius"];
$query = "SELECT nama, alamat, lintang, bujur, deskripsi, foto, ( 6371 * acos( cos( radians($center_lat) ) * cos( radians( lintang ) ) * cos( radians( bujur ) - radians($center_lng) ) + sin( radians($center_lat) ) * sin( radians( lintang ) ) ) ) AS jarak FROM objek_wisata HAVING jarak < $radius ORDER BY jarak";
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error());
}
$rows = array();
while ($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
$data = "{kontak:".json_encode($rows)."}";
echo $data;
?>
2. Program Kedua dalam bahasa Java / Android. Sehingga perhitungan jarak tidak perlu dilakukan di server, bisa lebih cepat dilakukan di perangkat mobile Android dengan titik-titik lokasi nya sudah disimpan dalam bentuk array dan lokasi GPS dinamis menyesuaikan tempat Device Mobile Android berada :
//Misal titik yang ingin dicek jaraknya Ambarukmo Plaza Yogyakarta
Double lati = -7.783130530640776
Double longi = 110.40135302698059;
Location lokCek = new Location("Titik Lokasi");
lokCek.setLatitude(lati);
lokCek.setLongitude(longi);
//Misal titik GPS tempat kita berada di Tugu Jogja
Double lat = -7.782939
Double lng = 110.36705000000006;
Location newLoc = new Location("Titik GPS");
newLoc.setLatitude(lat);
newLoc.setLongitude(lng);
double distance = 6371 * Math.acos( Math.cos( Math.toRadians(newLoc.getLatitude()) ) * Math.cos( Math.toRadians( lokCek.getLatitude() ) ) * Math.cos( Math.toRadians( lokCek.getLongitude() ) - Math.toRadians(newLoc.getLongitude()) ) + Math.sin( Math.toRadians(newLoc.getLatitude()) ) * Math.sin( Math.toRadians( lokCek.getLatitude() ) ) ) ;
//Maka Jaraknya :
Toast.makeText(getApplicationContext(), "lat:" + String.valueOf(lokCek.getLatitude()) + "\n lng:" + String.valueOf(lokCek.getLongitude()) + "\n lat:" + String.valueOf(newLoc.getLatitude()) + "\n lng:" + String.valueOf(newLoc.getLongitude()) + "\n jarak:" + String.valueOf(distance) , Toast.LENGTH_LONG).show();
Maaf jika tidak ada source code projectnya, kode program tersebut akan penulis gunakan di project-project yang lain.
Semoga bermanfaat, selamat coding.
ActionScript AS3 ASP.NET AJAX C / C++ C# Clipper COBOL ColdFusion DataFlex Delphi Emacs Lisp Fortran FoxPro Java J2ME JavaScript JScript Lingo MATLAB Perl PHP PostScript Python SQL VBScript Visual Basic 6.0 Visual Basic .NET Flash MySQL Oracle Android
Related Post :
Judul: Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Anda sedang membaca artikel tentang
Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL, Semoga artikel tentang Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link
Kode Program untuk Mencari Jarak Dua Titik GPS Latitude Lingitude pada Java Android dan Query SQL Database MySQL.
{ 0 komentar... Views All / Send Comment! }
Posting Komentar