Tengo un mapa en mi aplicación de Android que muestra muchos marcadores (~ 20-50). Pero la aplicación funciona muy mal cuando trato de desplazarme/acercarme (en Google Android Maps hice una búsqueda de muestra de pizza y también encontré unos 20-50 resultados y no noté ningún problema particular de rendimiento al hacer zoom/desplazarse por el mapa).Android Map ¿Desempeño pobre debido a muchas superposiciones?
Aquí está mi (pseudo) Código:
onCreate() {
....
drawable = this.getResources().getDrawable(R.drawable.marker1);
itemizedOverlay = new MyItemizedOverlay(drawable,mapView);
...
callWebServiceToRetrieveData();
createMarkers();
}
createMarkers(){
for(elem:bigList){
GeoPoint geoPoint = new GeoPoint((int)(elem.getLat()*1000000), (int) (elem.getLon()*1000000));
OverlayItem overlayItem = new OverlayItem(geoPoint, elem.getName(), elem.getData());
itemizedOverlay.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay);
}
mapView.invalidate();
}
la MyItemizedOverlay.addOverlay se parece a esto:
public void addOverlay(OverlayItem overlay) {
m_overlays.add(overlay);
populate();
}
No sólo eso, sino que puede tener más de un marcador en una superposición. La forma en que se escribe su pseudocódigo, está agregando * la misma superposición * una vez por marcador - 'mapOverlays.add (itemizedOverlay);' - que no le ayudará exactamente. – CommonsWare
¿cómo puedo mejorar esto? – Dave
Sería interesante para mí también. –