Agree. There are different ways. 1. Use tracklogs which are close enough (10m?) to the start and end points as route. 2. Remember routes received from Google and reuse them. 3. Ask user to download OSM vector maps for wanted region and then use the vector maps for offline routing.