Lentitud en google maps

Para dar las gracias debes entrar o registrarte en el foro

Recién llegado
Recién llegado
Mensajes: 3 Agradecido: 0
11 Jul 2012, 11:52# 1

Me presento, soy un joven desarrollador de Android, estoy aprendiendo solo, tengo varios años de experiencia programando, pero ya se sabe, las cosas avanzan muy rápido y uno no se puede quedar atrás.

Estoy metiendo estaciones en el maps a través de un json, lo parseo y después meto estas estaciones en un array list, peero algo debo de hacer mal, porque tanto mi móvil como el emulador cuando cargan las estaciones en el mapa van a pedales, son en total 270

He probado a poner con 10 (todo ok), pero cuando le pones 30 la cosa empieza a ir lento, por los iconos no es porque los he cambiado, además son pngs y si le pones 100 o las 270 estaciones que hay, ya olvídate.
¿Alguna idea?os pongo el código, que controla la inclusión de las estaciones

Código: Seleccionar todo
...
private ParticularItemizedOverlay itemizedoverlayBicis;
....
Drawable drawableBicis = this.getResources().getDrawable(R.drawable.estaciones);
itemizedoverlayBicis = new ParticularItemizedOverlay(drawableBicis,this);
....
 btnBicis.setOnClickListener(new OnClickListener(){

                            public void onClick(View arg0) {

                                    estaciones = new Bicis().parsearJsonBicis();
                                    Iterator i = estaciones.iterator();
                                    List mapOverlays = mapa.getOverlays();//añadimos la nueva capa
                                    /*
                                    while(i.hasNext()){

                                            Estacion est = (Estacion) i.next();
                                            //creamos el punto a insertar
                                            double lat = Double.valueOf(est.getLat()) * 1E6;
                                            double lon =  Double.valueOf(est.getLng()) * 1E6;
                                            GeoPoint point = new GeoPoint((int) (lat),(int) (lon));

                                            OverlayItem overlayitem = new OverlayItem(point, "", null);
                                            itemizedoverlayBicis.addOverlayBicis(overlayitem);
                                            mapOverlays.add(itemizedoverlayBicis);

                                    }*/

                                    for (int j = 0; j<100;j++){
                                            Estacion est = estaciones.get(j);
                                            double lat = Double.valueOf(est.getLat()) * 1E6;
                                            double lon =  Double.valueOf(est.getLng()) * 1E6;
                                            GeoPoint point = new GeoPoint((int) (lat),(int) (lon));

                                            OverlayItem overlayitem = new OverlayItem(point, "", null);
                                            itemizedoverlayBicis.addOverlayBicis(overlayitem);
                                            mapOverlays.add(itemizedoverlayBicis);
                                    }
                                    mapa.postInvalidate();
                            }
            });
....



No se si es correcto, pero lo que hago es crear una capa y en esta pinto todos los puntos.

Alguna idea por esa lentitud?

Saludos y gracias![/code]
Gracias  
Etiquetado en: