Sto simulando un'auto in movimento su un percorso preregistrato su Android Maps v2. Quando eseguo lo zoom sul tracciato a mano, funziona alla grande, ma quando sposto la telecamera sul percorso con mMap.animateCamera()
, non carica l'area della mappa visibile, ottengo solo una mappa di bassa qualità molto pixelata. Se tocchi lo schermo e sposti un po 'la mappa o lo zoom, carica nuovamente questa parte.Le mappe Android v2 diventano di scarsa qualità quando l'area della mappa viene spostata automaticamente
Come posso ottenere che carichi sempre chiaramente la parte visibile?
MODIFICA: Ho aggiunto un'immagine di esempio: questo è ciò che vedo quando non tocco la mappa. Dopo averlo toccato, diventa chiaro (simile alla parte in basso a sinistra).
EDIT2: Ho un'idea, che questo è perché Google vuole di per evitare la mappa per essere memorizzate nella cache spostando rapidamente la fotocamera su una superficie. È possibile che questa sia la causa di questo problema? (La mappa mostra Budapest, in Ungheria, quale parte della mappa non è possibile scaricare per l'utilizzo offline ...) Ma qui voglio solo mostrare l'animazione e i marcatori di luogo, ho solo bisogno che l'area visibile sia memorizzata nella cache - ci sono un modo per aggirare questo comportamento?
Edit3: Il codice di animazione:
new Thread(new Runnable() {
@Override
public void run() {
// ... Calculating and sending new location, in an infinite loop with sleeps for timing
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
mMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())));
}
});
}
}).start();
Si sta animando la fotocamera da un thread separato? Non potrei ricreare il tuo problema; la mappa si ri-focalizza dopo l'animazione quando provo. Puoi pubblicare il tuo codice di animazione della videocamera? – todd
Sì, sto animando da un thread separato, usando runOnUiThread di activity. (Codice sorgente sopra) – hunyadym