Is there an app that allows users to create a map from an image?
TomTom calls this feature Map Overlays, but their iPhone app doesn't support it.

Garmin calls this feature Custom Maps, but their iPhone app doesn't support it either.

The only app I found that supports this feature is MakkaMappa ($1, or free lite version). Basically you upload an image to their website, then you use this application to view the map with your location shown on it.

From the app description:


  Once you've uploaded your map to the website, use this app to view the map on your iPhone. Even better, go to the location the map represents, and view it there. You'll be amazed when you see your position correctly shown on the map, no matter how much the map is stretched or squashed compared to the geographic space it represents. You won't need a data connection to view maps – great if you're going abroad.