Category Archives: Offline maps and storage

Offline maps and GPX save location with Android 11

As Google continues to make it harder for applications to share data, you may have to move your offline maps and GPX save location to a MyTrails-specific folder rather than the traditional /sdcard/MyTrails.

Several users have reported that using a folder like android/media/com.frogsparks.mytrails (inside the main device storage, presumably also on a removable storage) works.

When selecting the offline map location, use the “device” button in the top-right corner to switch to that directory directly:

If you’re not using offline maps (only GPX saved tracks), you can probably stick with your usual save location, but you need to switch to the standard Android file picker (disable Use internal file picker in MyTrails > Preferences > Other).

For more general info, see this older post.

Moving to another device

Here’s a checklist of things you should do to move all your data when you change devices:

  1. on your old device, make sure MyTrails is connected to your account, so your purchases, if any, will be available on your new device
  2. make a backup of MyTrails’ state on your old device
    1. if you have rooted your device, you can use Titanium Backup or a similar tool
    2. if you have not rooted your device or are not sure what “rooted” means, you can use a tool such as MyBackup (you can install it from MyTrails > Preferences > About) or Helium
    3. if you can’t make a backup, at least export your waypoints from MyTrails into a GPX, by using the export global waypoints hidden option
  3. unless you keep all your recorded tracks in Dropbox, make a copy of your recorded tracks on your computer
  4. if you have offline maps, you can copy them to your computer as well
  5. on your new device, install MyTrails (you don’t need to install the MyTrails Pro License application unless you haven’t connected MyTrails to your account in step 1)
  6. if you made a backup in step 2, restore it on the new device
  7. make sure MyTrails on the new device is connected to your account
  8. check that your recorded tracks are still available (if not, copy them from your computer to the new device, and load them into MyTrails)
  9. make sure your offline maps are still available (if not, first check the location for offline maps in MyTrailsPreferencesOther, then copy them from your computer to that location and restart MyTrails)
  10. check that your global waypoints are still available (if not, load the exported global_waypoints.gpx; unfortunately the waypoints will no longer be global, but will remain associated with that track, which you should leave checked)

Combining maps

In order to make it easier to manage offline maps, I usually recommend creating separate offline maps for separate geographical areas.

However, this makes it necessary to switch maps when looking at different parts of the map. Unless you chain maps together using the fallback map feature.

Picking a fallback map

Picking a fallback map

Most maps, and particularly offline maps, support setting a fallback map. To do so, tap the name of the map in the Map manager, and then the Select… button in the Fallback map section. You can then pick the fallback map, which will be used where the main map does not provide a tile.

Using this system, you can chain maps together:

  • set the fallback map for map A to map B
  • set the fallback map for map B to map C
  • etc.
  • in the main MyTrails view, select map A, and MyTrails will automatically display map B or C in areas not covered by map A.

A, B and C do not need to all be offline maps. in fact, it may be useful to select an online map as the last map in the chain, so that there is always something to display. This is what MyTrails does when you create an offline map and check the Let MyTrails download missing tiles option.

Create offline map with fallback

Create offline map with fallback

How can I move already downloaded offline maps to my external SD card

So you’ve downloaded a bunch of maps offline, and MyTrails placed them on your phone’s internal storage?

MyTrails doesn’t attempt to help do this, because moving large amounts of data around is difficult to do in a compatible and safe way. So please follow this guide:

  1. in MyTrails > Preferences > Other (storage), set the New offline maps location to your external SD card (you can use the SD card icon if you see one, or navigate to the external SD card if not)
    Create offline maps in
  2. use an Android file manager such as ES Explorer to move the contents of /sdcard/MyTrails/Offline to the location you selected above
    if this is not possible (Android 4.4 and later, unless rooted), transferring the files using a computer is required
  3. in MyTrails > Maps, tap on each of the offline maps you created and adjust its location
    Offline map location

If step 3 sounds too tedious, you can skip it; the next time MyTrails starts (you can stop it manually to make this happen sooner), it will automatically regenerate the map definitions for you (but it leaves the old ones, you’ll need to hide them in MyTrails > Maps, or delete them by long-pressing the map names and selecting Delete – make sure not to delete the map data, just the definition!).

If this does not succeed, please use the reset offline hidden option.

How can I use my external SD card for offline maps?

One of the new “features” of Android 4.4 (KitKat) is that applications can no longer use the external SD card as a generic storage volume and read/write everywhere. There are valid security reasons for the change, but the way Google has done this breaks many apps and doesn’t provide a clear way to do things right for application developers.

In the case of MyTrails, it means that if you want to store your offline maps on your external SD card, you’ll have to jump through a few hoops:

  • If your device is rooted, you can use a free app like SDFix to revert to a fully-writable SD card
  • If your device is not rooted, there is only one folder that MyTrails can write to on the external SD card: /storage/sdcard1/Android/data/com.frogsparks.mytrails (this path may be slightly different if you’re using the preview version of MyTrails, or your device mounts the SD card to a different location within /storage; some devices use /storage/extSdCard/)

Please note the following caveats (if your device is not rooted):

  • you can not share the same offline maps between the official and preview versions of MyTrails
  • if you uninstall MyTrails, your offline maps will be deleted (this is by design, part of the reason Google make this change in KitKat), unless you use a privileged file manager (one that comes as part of your device’s default software) to move them beforehand

On recent versions of Android, even the internal storage may no longer be accessible to MyTrails. One location that should always be available is /sdcard/Android/data/com.frogsparks.mytrails. This is the offline location you should use if all else fails. Warning: that location is deleted by Android when you uninstall MyTrails!

Alternately, you can use the standard Android file picker with MyTrails, which makes it possible to load and save GPX files from anywhere. Enable it by turning off Use internal file picker in MyTrails > Preferences > Other.

Why don’t I see my offline maps when I connect my phone to my computer via USB?

This should only happen on CyanogenMod-based ROMs.

In order to avoid having the Android Media Manager index all the files MyTrails uses for offline maps (thus wasting space and battery on every startup), MyTrails adds a .noscanandnomtp file to offline maps.

This in turn prevents MTP (which your desktop uses to connect to the phone) from seeing these files.

If you wish to transfer an offline map from your phone to your desktop (perhaps to share the offline map with a friend), you can:

  • create a ZIP archive of the offline map (on your phone)
  • or temporarily remove or rename the .noscanandnomtp file (using an Android file manager) which is inside the main directory for your offline map, then cause Android to re-index the directory, perhaps by rebooting the phone and waiting a few minutes

you will then be able to see the map (or its archive) through MTP.

My offline download pauses after 24h / I’m getting an error about a daily limit

Different map providers have different abuse-prevention mechanisms, but many limit tile downloads from a single device to 10,000 tiles per 24h period.

Even for premium maps (except IGN), such an abuse-prevention is used, and MyTrails will be able to download only 10,000 tiles per 24h period. The limit will be reset 24h after the first tile was downloaded, not 24h after the limit was reached.

Note that at latitude 45° for zoom level 15 (the zoom level used for 1:25,000), each tile covers about .8km², so 10,000 tiles represents about 8000km², so the most popular offline subscriptions can be entirely downloaded without hitting this limit.