Sto aggiungendo più TileOverlays a una mappa di Google dalla cache. Quando provi ad animarli usando un gestore cambiando la loro visibilità, c'è uno sfarfallio delle sovrapposizioni sulla mappa durante la prima riproduzione.Come aggiungere tessere alla mappa di google e animarle sostituendole con nuove tessere continue
Qualsiasi altro modo con cui posso ottenere questo?
public class LocalTileProvider implements TileProvider {
private String url;
DatabaseHelper db;
String type;
// private Paint opacityPaint = new Paint();
String newurl= PathFinder.rainradar_HDBaseurl;
String uid;
public LocalTileProvider(String uid,DatabaseHelper cache,String type){
this.uid=uid;
this.db=cache;
this.type=type;
}
//taking the tile from SQLITEDATABASE
@Override
public Tile getTile(int x, int y, int zoom){
Tile tile = null;
if(db.ispresent(uid, zoom,x , y,type)){
byte[] b=db.gettiles(uid, zoom,x , y,type);
tile = new Tile(256, 256, b);
return tile;
}
return NO_TILE;
}
}
Il seguente è il codice per l'aggiunta di quelle piastrelle alla mappa di Google
LocalTileProvider provider1 = new LocalTileProvider(uidList.get(0), db, TAG);
TileOverlayOptions top1 = new TileOverlayOptions().tileProvider(provider1).visible(true);
tileoverlay_1 = googleMap.addTileOverlay(top1);
Dopo aver aggiunto li sto giocando l'animazione con il gestore commutando la visibilità della piastrella
public void start() {
btn_play.setEnabled(true);
tileoverlay_default.setVisible(false);
runnable_animation = new Runnable() {
@Override
public void run() {
//tileoverlay_default.setVisible(false);
isDownloading = false;
// stop_download=true;
isRunning = true;
btn_play.setBackgroundResource(R.drawable.player_pause_2x);
setVisibility(global);
if (global == 11) {
global = 0;
} else {
global = global + 1;
}
mHandler_animation.postDelayed(this, 1000);
}
};
mHandler_animation.post(runnable_animation);
}
Si prega di non fare ripetutamente la stessa domanda. Questo è considerato come rumore su Stack Overflow. Se la tua domanda è chiusa come non risponde o non ha attratto risposte, la prima cosa da fare è * migliorare la domanda *; alcune indicazioni per questo è [dato qui] (http://stackoverflow.com/help/how-to-ask). Normalmente le domande di bassa qualità o irrisolvibili saranno chiuse, ma potranno essere riaperte se migliorate o chiarite (a seconda dei casi). – Matt
@ user2197811 hai trovato una soluzione per questo? Questo è un problema significativo con Google Maps a cui non riesco a trovare una soluzione. – aez