CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 24 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Problema con file JSON per le mappe

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Oct 2011
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Question

    Problema con file JSON per le mappe

    Ciao a tutti, sono due giorni che sbatto la testa su un "non" problema...nel senso che a quanto pare ho solo io...

    Ora provo a chiedere aiuto a voi

    Stavo provando il gps dall'emulatore e stavo provando a vedere come tracciare la rotta tra due luoghi, usando le google api per le mappe...

    Ho trovato che bisogna mandare l'url formattato e ti viene ritornato un file json da leggere e poi bisogna affidarsi all'oggeto JSON che semplifica la vita...e fin qui tutto bene o quasi...

    Riesco a leggere il file...
    Riesco a convertirlo in un oggetto JSON (non genera eccezioni, ma non sono sicuro che sia corretto)

    e poi durante l'estrapolazione dei dati che mi occorrono vengono generate delle eccezioni, ma avendo dimensioni di valori troppo grandi ne vedo solo una parte..

     
    1
    2
    String line;
    3
            StringBuilder builder = new StringBuilder();
    4
            JSONObject json = null;
    5
            BufferedReader reader = null;
    6
            try {
    7
                reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    8
            } catch (IOException e1) {
    9
                e1.printStackTrace();
    10
            }
    11
            try {
    12
                while((line = reader.readLine()) != null) {
    13
                    builder.append(line);
    14
                    //Log.i("Tracciatura","builder:"+builder.capacity());
    15
                }
    16
            } catch (Exception e) {
    17
                e.printStackTrace();
    18
            }
    19
            Log.i("Tracciatura","carattere:"+builder.toString().charAt(builder.length()-1));
    20
    21
    22
            try {
    23
                json = new JSONObject(builder.toString());
    24
            } catch (JSONException e) {
    25
                e.printStackTrace();
    26
            }
    27
    28
            //Log.i("Tracciatura",builder.toString());
    29
            ArrayList<Bundle> list = new ArrayList<Bundle>();
    30
            try 
    31
            {
    32
                JSONArray routes = json.getJSONArray("routes");
    33
                Log.i("Tracciatura","routes.length = "+routes.length());
    34
                JSONArray legs = routes.getJSONArray(0);
    35
                Log.i("Tracciatura","legs.length = "+legs.length());
    36
                JSONArray steps = legs.getJSONArray(0);
    37
                Log.i("Tracciatura","steps.length = "+steps.length());
    38
                for(int i=0;i<steps.length();i++) 
    39
                {
    40
                    JSONObject singleStep = steps.getJSONObject(i);
    41
                    JSONObject duration = singleStep.getJSONObject("duration");
    42
                    Bundle dur = new Bundle();
    43
                    dur.putString("text", duration.getString("text"));
    44
                    dur.putString("value", duration.getString("value"));
    45
                    JSONObject distance = singleStep.getJSONObject("distance");
    46
                    Bundle dis = new Bundle();
    47
                    dis.putString("text", distance.getString("text"));
    48
                    dis.putString("value", distance.getString("value"));
    49
                    Bundle data = new Bundle();
    50
                    data.putBundle("duration", dur);
    51
                    data.putBundle("distance", dis);
    52
                    list.add(data);
    53
                }
    54
            } catch (JSONException e1) {
    55
                e1.printStackTrace();
    56
            }
    57


    questo è il codice che ho copiato da un forum in cui appunto anche questi utenti seguendo un tutorial disegnavano il percorso..


    le eccezioni generate:
    08-10 09:57:55.104: W/System.err(370): org.json.JSONException: Value {"waypoint_order":[],"summary":"A4","bounds":

    e poi rimanere incompleta... (non la posto tutta perchè è gigantesca...)

    come potete vedere l'eccezione è incompleta in quanto eclipse non la stampa del tutto...

    Che fare?

    Come posso risolvere il problema e ottenere i dati che mi occorrono al fine di disegnare la rotta verso una destinazione?

    Grazie a tutti

  2.  

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy