Sto lavorando su un'applicazione mobile che visualizza una mappa con vari indicatori, questi indicatori provengono da una moltitudine di API di terze parti.
Il concetto che avevo in mente era lo sviluppo di un'app Web ospitata su Heroku, che estraeva tutti i dati dalle necessarie API di terze parti quotidianamente, standardizza i dati e li memorizza in un database SQLite. Quindi crea un'API con cui interagirebbe l'app mobile, che recupera i marker appropriati dal database e li restituisce per l'applicazione mobile da visualizzare.
Il numero totale di marcatori è di decine di migliaia, quindi l'idea era che ogni volta che la mappa veniva trascinata, tutti i marcatori non più sulla mappa sarebbero stati rimossi e qualsiasi nuovo indicatore sarebbe stato richiesto dall'API. Questo però fa sorgere il problema di dover aspettare sul server ogni volta che viene trascinata la mappa che degrada l'esperienza dell'utente.
L'idea che avevo allora in mente era quella di mantenere un piccolo buffer attorno all'area attualmente visualizzata in modo che qualsiasi trascinamento minimo della mappa non venisse lasciato in attesa del server.
Questa è la soluzione migliore per questo scenario o esiste una soluzione migliore?