MySQLに保存されている緯度と経度の位置を取得しようとしました。Androidマップアプリケーションに値を使用したい。
これが私のコードです:
デスクリプシ.Java
Button direction = (Button) findViewById (R.id.btnDir);
direction.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Intent z = getIntent();
des_lat = z.getExtras().getString("des_lat");
des_long = z.getExtras().getString("des_long");
Intent i = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?&daddr="+des_lat+","+des_long));
//("geo:37.827500,-122.481670"));
startActivity(i);
}
});
そしてここにcontent.Javaがあります
private ListView list;
int x;
private String panjang[];
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.kontent);
super.initButtonSearch();
list = (ListView) findViewById(R.id.list);
JSONObject jo;
try {
jo = new JSONObject(JsonKontent);
JSONArray ja = jo.getJSONArray("result");
System.out.println("Panjang : " + ja.length());
if (ja.length() == 0) {
Toast.makeText(Content.this, "Data tidak ada!",
Toast.LENGTH_LONG).show();
finish();
}
content_id = new String[ja.length()];
c_title = new String[ja.length()];
c_telephone = new String[ja.length()];
c_short_description = new String[ja.length()];
c_long_description = new String[ja.length()];
c_image1 = new String[ja.length()];
c_image2 = new String[ja.length()];
l_address = new String[ja.length()];
catagory_id = new String[ja.length()];
Location myLoc = new Location("sharedPreferences");
Location restLoc = new Location("restaurantTable");
l_latitude = new String[ja.length()];
l_longitude = new String[ja.length()];
c_name = new String[ja.length()];
panjang = new String[ja.length()];
for (x = 0; x < ja.length(); x++) {
JSONObject joj = ja.getJSONObject(x);
content_id[x] = joj.getString("content_id");
catagory_id[x] = joj.getString("catagory_id");
c_title[x] = joj.getString("c_title");
c_telephone[x] = joj.getString("c_telephone");
c_short_description[x] = joj.getString("c_short_description");
c_long_description[x] = joj.getString("c_long_description");
c_image1[x] = HTTPConnection.urlPicture
+ joj.getString("c_image1");
c_image2[x] = HTTPConnection.urlPicture
+ joj.getString("c_image2");
l_address[x] = joj.getString("l_address");
l_latitude[x] = joj.getString("l_latitude");
l_longitude[x] = joj.getString("l_longitude");
c_name[x] = joj.getString("c_name");
myLoc.setLatitude(myLatitude);
myLoc.setLongitude(myLongitude);
restLoc.setLatitude(Double.parseDouble(l_latitude[x]));
restLoc.setLongitude(Double.parseDouble(l_longitude[x]));
float f = myLoc.distanceTo(restLoc);
int f_int = Math.round(f / 100);
f = Float.valueOf(f_int) / 10;
String dist = new DecimalFormat("#,##0.0").format(f);
System.out.println("Panjang " + dist + " km");
panjang[x] = dist + " km";
}
} catch (JSONException e) {
Toast.makeText(Content.this, "Data yang dicari tidak ada!",
Toast.LENGTH_LONG).show();
finish();
}
PFCAdapter adapter = new PFCAdapter(this, c_image1, c_title, l_address,
panjang);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
System.out.println("Content ID: "
+ Content.content_id[Deskripsi.id]);
Deskripsi.id = arg2;
waitDialog = ProgressDialog.show(Content.this, "Memuat",
"Harap tunggu, sedang terhubung dengan server");
waitDialog.setIcon(R.drawable.iconnya);
waitDialog.show();
new LihatRatingTask().execute();
}
});
}
class LihatRatingTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... Arg0) {
Deskripsi.jsonRating = HTTPConnection.openUrl(HTTPConnection.host
+ "lihat_rating.php?content_id="
+ Content.content_id[Deskripsi.id]);
Deskripsi.jsonSubCategory = HTTPConnection
.openUrl(HTTPConnection.host
+ "sub_catagory_parameter.php?content_id="
+ Content.content_id[Deskripsi.id]);
RoutePath.place = HTTPConnection
.LoadImageFromWeb(HTTPConnection.host
+ "Logo/"
+ image[Integer.valueOf(catagory_id[Deskripsi.id]) - 1]);
Intent i = new Intent(Content.this, Deskripsi.class);
i.putExtra("des_lat", l_latitude);
i.putExtra("des_long", l_longitude);
startActivity(i);
waitDialog.dismiss();
return null;
}
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
waitDialog.dismiss();
}
}
}
EditText
結果はAndroid用のマップアプリケーションの宛先にあります
"null,null"
「destination_latitude、destination_longitude」にする方法は?
お願い助けて。