You can use an App Inventor app offline with GPS and a "home made" 'flat' map. Load the 'map' as a Canvas background image. You need to know the geocoordinates of two opposite corners of the map (so you can 'calibrate' the map). Develop a procedure to convert GPS coordinates to Canvas screen coordinates (so you can plot the GPS location on the Canvas). Both Google and OSM use Mercator map projections, if you do not use a flat map, you will probably want to correct for the distortion of a Mercator map mathematically. Plotting on a Canvas 'map' is not very precise. Factors to consider are the map scale, the Android screen pixel density, the number of pixels on the screen and how precise this mapping must be.
I am not aware of any simple method that will allow you to use an offline Google Map or an OSM map stored on the Android. There are technical and legal reasons why this is not possible. To use a Google map with out Google Maps developers must seek permission from Google (
https://groups.google.com/forum/#!topic/google-maps-js-api-v3/sALpJq12HjQ ). Working with Google Map Tiles is very difficult using a computer, there might be a way to do so on an Android. The tiles on OSM maps are similar and it appears there are few if any restrictions on their use. Read OSM's terms of use for the details.
You can find out a lot more by googling something like using Google Map Tiles offline I hope this information is useful.
Also you might look at John's gallery app search for AppinventorDynamicMapsv1 . His description says it can use various maps but you might have to have an online connection. Try it.
Regards,
Steve