Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.unggul.yoga.sanjo.Menu;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.TextView;
- import com.unggul.yoga.sanjo.Pelengkap.JSONParser;
- import com.unggul.yoga.sanjo.R;
- import org.apache.http.NameValuePair;
- import org.apache.http.message.BasicNameValuePair;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- public class Terdekat extends AppCompatActivity {
- TextView tvText,tvValue;
- EditText etAsal,etTujuan;
- ListView lvlokasiterdekat;
- Button btTerdekat;
- String url1, url2, url3,url;
- String kategori,nama,deskripsi,latitude,longitude,id,file_gambar,alamat,lokasi;
- JSONParser jsonParser = new JSONParser();
- JSONArray jsonstatus = null;
- JSONObject jsonObj;
- ProgressDialog pDialog;
- public static ArrayList<HashMap<String, String>> liststatus = new ArrayList<HashMap<String,String>>();
- private static final String URL9 = "http://192.168.100.10/yu/lokasi.php";
- private static final String TAG_NAMA = "nama";
- private static final String TAG_KATEGORI = "kategori";
- private static final String TAG_SUKSES = "sukses";
- private static final String TAG_DESKRIPSI = "deskripsi";
- private static final String TAG_LATITUDE = "latitude";
- private static final String TAG_LONGITUDE = "longitude";
- private static final String TAG_LOKASI = "lokasi";
- private static final String TAG_FILE_GAMBAR = "file_gambar";
- private static final String TAG_ALAMAT = "alamat";
- private static final String TAG_ID = "id";
- int j = 0;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_terdekat);
- // tvText= (TextView) findViewById(R.id.tvText);
- // tvValue =(TextView)findViewById(R.id.tvValue);
- // etAsal = (EditText)findViewById(R.id.etAsal);
- // etTujuan =(EditText)findViewById(R.id.etTujuan);
- lvlokasiterdekat=(ListView)findViewById(R.id.lvLokasiTerdekat);
- Bundle extras = getIntent().getExtras();
- kategori = extras.getString("kategori");
- System.out.println(kategori);
- // btTerdekat = (Button) findViewById(R.id.btTerdekat);
- lvlokasiterdekat.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> arg0, View arg1, int position,
- long arg3) {
- // TODO Auto-generated method stub
- for (int i = 0; i < liststatus.size(); i++) {
- if (position == i) {
- HashMap<String, String> statusmap = liststatus.get(i);
- kategori = statusmap.get(TAG_KATEGORI);
- System.out.println("tipe kategori : " + kategori);
- kategori = statusmap.get(TAG_KATEGORI);
- deskripsi = statusmap.get(TAG_DESKRIPSI);
- file_gambar = statusmap.get(TAG_FILE_GAMBAR);
- lokasi = statusmap.get(TAG_LOKASI);
- latitude = statusmap.get(TAG_LATITUDE);
- longitude = statusmap.get(TAG_LONGITUDE);
- nama = statusmap.get(TAG_NAMA);
- alamat = statusmap.get(TAG_ALAMAT);
- id = statusmap.get(TAG_ID);
- System.out.println("tipe kategori : " + kategori);
- Intent intent = new Intent(Terdekat.this, Detail.class);
- intent.putExtra(TAG_KATEGORI, kategori);
- intent.putExtra(TAG_DESKRIPSI, deskripsi);
- intent.putExtra(TAG_FILE_GAMBAR, file_gambar);
- intent.putExtra(TAG_LATITUDE, latitude);
- intent.putExtra(TAG_LONGITUDE, longitude);
- intent.putExtra(TAG_LOKASI, lokasi);
- intent.putExtra(TAG_NAMA, nama);
- intent.putExtra(TAG_ALAMAT, alamat);
- intent.putExtra(TAG_ID, id);
- startActivity(intent);
- }
- }
- }
- });
- // int position;
- // @Override
- // tvText.setText(latitude+","+longitude);
- new custom().execute();
- }
- public void getDistance(String lat, String lng){
- String asal = "-2.966806,104.805536";
- String tujuan = lat+","+lng;
- url1 = "http://maps.googleapis.com/maps/api/directions/json?origin=";
- url2 = "&destination=";
- url3 = "&sensor=false&mode=%22DRIVING%22";
- url = url1 + asal + url2 + tujuan + url3;
- System.out.println("URL: " + url);
- new JarakLokasi().execute();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_terdekat, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- class JarakLokasi extends AsyncTask{
- @Override
- protected Object doInBackground(Object[] params) {
- JSONParser jsonParser = new JSONParser();
- try {
- JSONObject json = jsonParser.getJSONFromUrl(url);
- Log.d("Pesan : ",json.toString());
- JSONArray routesarray = json.getJSONArray("routes");
- Log.d("Pesan1 : ",routesarray.toString());
- JSONObject routes = routesarray.getJSONObject(0);
- //Log.d("Pesan2 : ",legs.toString());
- JSONArray legs = routes.getJSONArray("legs");
- JSONObject steps = legs.getJSONObject(0);
- JSONObject distance = steps.getJSONObject("distance");
- Log.d("Distance : ",distance.toString());
- }
- catch (Exception e){
- }
- return null;
- }
- @Override
- protected void onPostExecute(Object o) {
- super.onPostExecute(o);
- //j = j + 1;
- HashMap<String, String> map = new HashMap<String, String>();
- map.put(TAG_KATEGORI,kategori);
- map.put(TAG_NAMA, nama);
- map.put(TAG_FILE_GAMBAR, file_gambar);
- map.put(TAG_DESKRIPSI, deskripsi);
- map.put(TAG_LATITUDE, latitude);
- map.put(TAG_LONGITUDE, longitude);
- map.put(TAG_ALAMAT,alamat);
- map.put(TAG_ID, id);
- liststatus.add(map);
- if (j == liststatus.size()-1){
- fillStatus();
- }
- }
- }
- public void fillStatus(){
- System.out.println("Liststatus(fill): "+liststatus);
- Kerajinan adapter = new Kerajinan(getApplicationContext(), liststatus);
- lvlokasiterdekat.setAdapter(adapter);
- }
- private class custom extends AsyncTask<String, String, String> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- pDialog = new ProgressDialog(Terdekat.this);
- pDialog.setMessage("Memuat Daftar Tempat...");
- pDialog.setIndeterminate(false);
- pDialog.setCancelable(true);
- pDialog.show();
- }
- @Override
- protected String doInBackground(String... args) {
- // TODO Auto-generated method stub
- int sukses;
- // liststatus = new ArrayList<HashMap<String,String>>;
- // String kategori = util.getkategori(getApplicationContext());
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new BasicNameValuePair(TAG_KATEGORI, kategori));
- try {
- jsonObj = jsonParser.makeHttpRequest(URL9, "POST", params);
- Log.d("Mengambil Data...", jsonObj.toString());
- sukses = jsonObj.getInt(TAG_SUKSES);
- if(sukses == 1){
- try {
- Log.d("Status Data : ", jsonObj.getString(TAG_LOKASI));
- jsonstatus = jsonObj.getJSONArray(TAG_LOKASI);
- liststatus.clear();
- for(int i = 0; i < jsonstatus.length(); i++){
- JSONObject c = jsonstatus.getJSONObject(i);
- String nama = c.getString(TAG_NAMA);
- String deskripsi = c.getString(TAG_DESKRIPSI);
- String longitude = c.getString(TAG_LONGITUDE);
- String latitude = c.getString(TAG_LATITUDE);
- String file_gambar = c.getString(TAG_FILE_GAMBAR);
- String alamat = c.getString(TAG_ALAMAT);
- String id = c.getString(TAG_ID);
- //getDistance(latitude, longitude);
- // System.out.println("latitude : " + getDistance(););
- System.out.println("data : " + kategori);
- System.out.println("data : " + nama);
- System.out.println("data : " + deskripsi);
- System.out.println("data : " + longitude);
- System.out.println("data : " + latitude);
- System.out.println("data : " + file_gambar);
- System.out.println("data : " + alamat);
- System.out.println("data : " + id);
- HashMap<String, String> map = new HashMap<String, String>();
- map.put(TAG_KATEGORI,kategori);
- map.put(TAG_NAMA, nama);
- map.put(TAG_FILE_GAMBAR, file_gambar);
- map.put(TAG_DESKRIPSI, deskripsi);
- map.put(TAG_LATITUDE, latitude);
- map.put(TAG_LONGITUDE, longitude);
- map.put(TAG_ALAMAT,alamat);
- map.put(TAG_ID, id);
- liststatus.add(map);
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- } else {
- Log.d("Error", jsonObj.getString(TAG_DESKRIPSI));
- }
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- return null;
- }
- @Override
- protected void onPostExecute(String result) {
- // TODO Auto-generated method stub
- super.onPostExecute(result);
- pDialog.dismiss();
- setDistance();
- //System.out.println("Fill status...");
- //fillStatus();
- }
- }
- public void setDistance(){
- for (int j = 0; j < liststatus.size(); j++) {
- // while (j == 0){
- HashMap<String, String> statusmap = liststatus.get(j);
- kategori = statusmap.get(TAG_KATEGORI);
- System.out.println("setDistance : " + j);
- kategori = statusmap.get(TAG_KATEGORI);
- deskripsi = statusmap.get(TAG_DESKRIPSI);
- file_gambar = statusmap.get(TAG_FILE_GAMBAR);
- lokasi = statusmap.get(TAG_LOKASI);
- latitude = statusmap.get(TAG_LATITUDE);
- longitude = statusmap.get(TAG_LONGITUDE);
- nama = statusmap.get(TAG_NAMA);
- alamat = statusmap.get(TAG_ALAMAT);
- id = statusmap.get(TAG_ID);
- getDistance(latitude,longitude);
- // HashMap<String, String> pecah_data=liststatus.get(0);
- // String latitude = pecah_data.get("latitude");
- // String longitude = pecah_data.get("longitude");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement