CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 4 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 27 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 52 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Mappe e Marker

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
    Androidiano


    Registrato dal
    Aug 2009
    Messaggi
    107

    Ringraziamenti
    0
    Ringraziato 2 volte in 2 Posts
    Question

    Mappe e Marker

    Ciao a Tutti sto sviluppando un APP che sfrutta le mappe.

    All'interno della mappa, in una determinata zona, vado a posizionare una serie di marker.

    L'applicazione funziona correttamente, ma lo scroolling della della mappa e lo zoom non vengono eseguiti in modo fluido, tutto va a scatti.

    Il marker che vado ad inserire nella mappa è una img. formato "png" e ha un peso di 600 byte circa.

    Può essere che troppi oggetti disegnati creano questi rallentamenti?...

    ...Se è così, perchè allora l'applicazione "Place / Luoghi" di Google funziona senza lag di scroolling e zoom anche se ci sono molti marker sulla mappa?

    Vi posto il codice, SPERO POSSIATE DARMI UNA DRITTA PER RISOLVERE QUESTO ENIGMA!!

    codice:
    plublic class IDC extends MapActivity {
    
            private LocationManager locationManager;
            private LocationListener locationListener;
            private MapController mc;
            private MapView mapView;
            private String myPosition;
    
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            String errore="";
            myPosition="";
            try{        
            mapView = (MapView) findViewById(R.id.mapview);
            mc = mapView.getController();
            locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            locationListener = new GPSLocationListener();
            //getMyLocation();
            MyDBHelper myDB = new MyDBHelper(IDS.this);
            Cursor cursor= myDB.query(new String[] { "x", "y", "y2", "w", "k", "latitude", "longitude"});
            //Log.i("NOMI", "TOT. NOMI"+cursor.getCount());
     
            List<Overlay> mapOverlays = mapView.getOverlays();
            Drawable drawable = this.getResources().getDrawable(R.drawable.mm_20_blue);
            MyItemizedOverlay itemizedoverlay = new MyItemizedOverlay(drawable,IDS.this);
           
    
            List<Address> address = new ArrayList<Address>();
            Log.i("TOT TUPLE", " = "+cursor.getCount());
    
           
            while(cursor.moveToNext()){
                   
                    String s= cursor.getString(0);
                    errore=s;
                    String nome[]=s.split("-");
                   
    //              Log.i("Pos Colonna NOME", ""+cursor.getColumnIndex("nome"));
    //              Log.i("Pos. in Colonna", ""+cursor.getString(0));
                    //address.addAll(gc.getFromLocationName(nome[1], 1));
                    //Address a= address.get(address.size()-1);
                    String la=cursor.getString(5);
                    String lo=cursor.getString(6);
                    double latitude= Double.parseDouble(la);
                    double longitude= Double.parseDouble(lo);
                    int lan= (int)(latitude*1E6);
                    int lon= (int)(longitude*1E6);
    
                    GeoPoint point = new GeoPoint(lan, lon);
                    String tel1=cursor.getString(1);
                String tel2=cursor.getString(2);
                String mail=cursor.getString(4);
                String web=cursor.getString(3);
                String info[]= {tel1,tel2,nome[1],web,mail};
                MyOverlayItem overlayitem = new MyOverlayItem(point, "Hello", nome[0], info);
                //mc.animateTo(point);
               
                itemizedoverlay.addOverlay(overlayitem);
                mapOverlays.add(itemizedoverlay);
                 
               
            }
           
            mapView.setBuiltInZoomControls(true);
            mc.setZoom(6);
           
            }catch (Exception e) {
                   
                            e.printStackTrace();
                    }
           
        }
    }
    codice:
    public class MyItemizedOverlay extends ItemizedOverlay {
           
            private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
            private Context mContext;
            private CustomizeDialog customizeDialog;
           
            public MyItemizedOverlay(Drawable defaultMarker) {
                    super(boundCenterBottom(defaultMarker));
            }
           
            public MyItemizedOverlay(Drawable defaultMarker, Context context) {
                    super(boundCenterBottom(defaultMarker));
                    mContext = context;
                    }
    
            protected boolean onTap(int index)
                      MyOverlayItem item = (MyOverlayItem) mOverlays.get(index);
    
                      customizeDialog = new CustomizeDialog(mContext);
                      customizeDialog.setPersonalText(item.getSnippet());
                      String []info= item.getInfo();
                      customizeDialog.setT1(info[0]);
                      customizeDialog.setT2(info[1]);
                      customizeDialog.setA(info[2]);
                      customizeDialog.setW(info[3]);
                      customizeDialog.setM(info[4]);
                      customizeDialog.show();
                      return true;
            }
    
            protected OverlayItem createItem(int i) {
                    return mOverlays.get(i);
            }
    
            public int size() {
                    return mOverlays.size();
            }
           
            public void addOverlay(OverlayItem overlay) {
                mOverlays.add(overlay);
                populate();
            }
    
    }
    HTC Desire

    Samsung Galaxy - I7500 - ROM Galaxo 1.6.3.3

    Vieni a trovarmi su:

    www.giuseppebrando.it

    www.isqa.it

  2.  

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