Ich füge mehrere TileOverlays zu einer Google-Karte aus dem Cache. Wenn Sie versuchen, sie mithilfe eines Handlers zu animieren, indem Sie ihre Sichtbarkeit ändern, werden die Overlays auf der Karte während des ersten Durchlaufs flackern.So fügen Sie Kacheln zu Google Map hinzu und animieren sie, d. H. Ersetzen sie mit neuen Kacheln kontinuierlich
Gibt es eine andere Möglichkeit, mit der ich das erreichen kann?
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;
}
}
Hier finden Sie Code, diese Kacheln auf die Google-Karte sich für das Hinzufügen von
LocalTileProvider provider1 = new LocalTileProvider(uidList.get(0), db, TAG);
TileOverlayOptions top1 = new TileOverlayOptions().tileProvider(provider1).visible(true);
tileoverlay_1 = googleMap.addTileOverlay(top1);
Nach Zugabe spiele ich die Animation mit dem Handler durch die Sichtbarkeit der Fliese Makel
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);
}
Bitte stellen Sie nicht dieselbe Frage wiederholt. Dies wird bei Stapelüberlauf als Rauschen angesehen. Wenn Ihre Frage als unbeantwortbar abgeschlossen wird oder keine Antworten anzieht, müssen Sie als Erstes die Frage * verbessern. Eine Anleitung dazu ist [hier gegeben] (http://stackoverflow.com/help/how-to-ask). Fragen mit geringer Qualität oder nicht beantworteter Fragen werden in der Regel geschlossen, können aber bei Bedarf verbessert oder geklärt werden. – Matt
@ user2197811 hast du eine lösung dafür gefunden? Dies ist ein erhebliches Problem mit Google Maps, für das ich auch keine Lösung finden kann. – aez