This map stuff has been really difficult. I’ve made a lot of progress, but it’s still not quite there yet.
My remaining tasks are:
- Intelligently nullify tiles when applying centering
- Fix bug where zooming causes map data to go out of sync if the zoom has caused a change of tile value
- Implement separate async loading for peripheral, above and below tiles
- Remove ‘fullyAsync’ from DownloadImageTask()
- Implement directional async loading
- If no direction (on start-up or zoom in/out), then attempt to async load ALL peripheral tiles
- Apply lock on screen render if refresh already in progress
- Fix auto-centre functionality
- Get map data to fit GPS data
- Possibly remove movement lock in onTouch()
That looks about right.