0

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」にする方法は?

お願い助けて。

4

1 に答える 1

1

String des_lat = z.getExtras().getString(key);

これを試してみてください

于 2012-11-09T05:46:29.733 に答える