The 'GPX travel map' app caches Open Street Maps so they can be viewed offline. This is the best option I've found so far. It means needing to view at various zoom levels the area or route beforehand whilst online, which is a little tedious. Have yet to find a way to upload more detailed maps...