-2

以下の次のURLから解析jsonが必要で、距離と期間のデータをリストビューに入れることは可能ですか?

http://maps.googleapis.com/maps/api/directions/json?origin=-25.3641,-49.2857&destination=-25.3928,-49.2728®ion=en&sensor=false

4

1 に答える 1

0

あなたの質問はあまり明確ではありません。最初にjsonを解析する必要があります。解析されたデータをArrayListofに入れることができBundleます。次のようにします。

String response = getResponseFromGoogleMaps(); //this function will fetch the response. write it in your way
ArrayList<Bundle> list = new ArrayList<Bundle>();
try {
        JSONObject json = new JSONObject(response);
        JSONArray routes = json.getJSONArray("route");
        JSONArray legs = routes.getJSONArray(0);
        JSONArray steps = legs.getJSONArray(0);
        for(int i=0;i<steps.length();i++) {
            JSONObject singleStep = steps.getJSONObject(i);
            JSONObject duration = singleStep.getJSONObject("duration");
            Bundle dur = new Bundle();
            dur.putString("text", duration.getString("text"));
            dur.putString("value", duration.getString("value"));
            JSONObject distance = singleStep.getJSONObject("distance");
            Bundle dis = new Bundle();
            dis.putString("text", distance.getString("text"));
            dis.putString("value", distance.getString("value"));
            Bundle data = new Bundle();
            data.putBundle("duration", dur);
            data.putBundle("distance", dis);
            list.add(data);
        }
} catch (JSONException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
}

次に、 を処理する独自の List Adapter (から拡張する必要がBaseAdapterあります) を作成しますArrayList<Bundle>。そして、あなたは完了です!

于 2012-04-26T19:46:33.257 に答える