Autore Topic: lista geopont generata automaticamente  (Letto 607 volte)

Offline coverx

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
lista geopont generata automaticamente
« il: 29 Luglio 2011, 11:24:06 CEST »
0
Ciao a tutti, sto realizzando una app che contiene al proprio interno un tool che mostra sulla mappa i punti di interesse.
Questi ultimi sono presi da un db interno, quindi prelevo gli indirizzi dei singoli contatti e li visualizzo sulla mappa....
Seguendo la marea di tutorial in rete sono riuscito a creare un geopoint partendo dall'indirizzo del contatto, trovo le coordinate e con un overlay metto un bel pallino....
Ma c'è un modo per creare un ciclo dinamico di coppia geopoint - overlay?!

Della serie:

Codice: [Seleziona]
Geocoder gc = new Geocoder(getBaseContext(), Locale.getDefault());
                GeoPoint p[] = null;
                OverlayItem oi[] = null;
                int i=0;
               
                mDbHelper = new DbAdapter(this);
                mDbHelper.open();

                Cursor cur_cli=mDbHelper.cerca_query("SELECT * FROM CFCli");        // query
                startManagingCursor(cur_cli);
                if(cur_cli!=null && cur_cli.moveToFirst())
                {
                       
                        do
                        {
                                String indirizzo = cur_cli.getString(4)+ " " +cur_cli.getString(5) + " " + cur_cli.getString(6)+ " " + cur_cli.getString(7);
                                Log.d("tag", "Indirizzo: "+indirizzo);


                                try {
                                        List<Address> addresses = gc.getFromLocationName(indirizzo, 10);

                                        if (addresses.size() > 0) {
                                                Log.d("tag", "ok");
                                                p[i] = new GeoPoint((int) (addresses.get(0).getLatitude() * 1E6), (int) (addresses.get(0).getLongitude() * 1E6));
                                                oi[i] = new OverlayItem(point, indirizzo, indirizzo);
                                        }
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }

                               
                                i++;       
                        }while(cur_cli.moveToNext());
                }
                cur_cli.close();
                mDbHelper.close();


Ho pensato di inserire i geopoint e overlay in degli array... In questo modo non ho nessun errore compilativo, ma l'app va in tilt dandomi errore nullpoint alla riga
Codice (Java): [Seleziona]
p[i] = new GeoPoint((int) (addresses.get(0).getLatitude() * 1E6), (int) (addresses.get(0).getLongitude() * 1E6));

Ci sto sbattendo da un pò.....ormai mi sono convinto di aver commesso uno dei miei soliti errori grossolani, ma non riesco a trovarlo/li....potreste darci uno sguardo!?
Grazie mille ragazzi.


Offline coverx

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
Re:lista geopont generata automaticamente
« Risposta #1 il: 29 Luglio 2011, 11:45:37 CEST »
0
Ok credo di aver risolto ragazzi.....è praticamente inutile creare array, basta creare un nuovo geopoint localmente al ciclo e far creare runtime l'elenco.
Mi stavo perdendo in un bicchiere d'acqua....scusate per il topic ma stavo impazzendo...