I use OpenStreetMap on my side, but it works through their page. I wonder if it is possible to download some of the map and use the local server. So far I have found something l
For use on Android I favour OSMand.It stores data in a much more efficient, routeable, searchable format than the cached tiles. With a reasonable SD card in your phone you can easily have entire continents on your phone for offline use.