Some Android apps can download and store cached map data from online data sources like Google Maps and OpenStreetMap servers. I’ve already posted about a few of these:
.. and expect to post about many more of them in the future. But in-app caching has limitations:
- Map sources are limited to online map services
- Map variety is usually fairly limited
- Map selection process is limited by the size of the Android unit
- Issues with download speed and bandwidth caps (WiFi and cellular data connections)
There are also a fair number of Android apps that don’t cache map data directly, but instead use offline mapsets created with desktop software. While perhaps less convenient than direct in-app caching in that they require you to prepare the mapsets on a desktop and then transfer them to your Android unit, they have some significant advantages:
- Desktop interface usually offers more options, and is easier to use
- Choice of online map servers can be larger
- Map management is somewhat easier
- In addition to online map sources, you can also create mapsets from scanned maps, aerial/satellite photos, and output from mapping software (GIS)
I’m going to be posting on a number of these offline mapset apps in the coming months. Some of them have their own custom mapset creation software, and I’ll cover those separately. But there are several free programs out there that can create mapsets for more than one of these apps, and I thought I’d cover a couple of these first before moving on to the apps themselves. After all, the apps aren’t worth that much without usable maps already in hand.
The first program I’ll be looking at is Mobile Atlas Creator, aka MOBAC, which downloads map tiles from online map services, and converts them into an app-appropriate format. This is a Swiss army knife app, as it creates offline maps not only for a fair number of Android apps, but also for programs that run on Windows, Windows Mobile and Symbian platforms, and even some standard handheld GPS units from Garmin and Magellan. It’s a Java program, so it should run in Windows, Linux and OS X; Java 1.6 required (check this at the Java website). While the current stable release is version 1.7, I’ll be looking at the most recent 1.8 beta release.
No program installation required; just unzip the contents into Start the program up using the .jar program file. There’s a separate Window executable in the distribution, but I think that’s just a stub to start up the .jar file. Documentation is minimal. Program screen looks like this:
There are two sections to the program view. The left pane contains program controls, while the larger right pane has the map view. Navigating the map view is a little different than other programs:
- To scroll the map view, click and drag with the right mouse button (not the usual left button).
- Zoom in and out using either the zoom control at upper left, or with the mouse wheel.
- Use the left mouse button to select an area you want to download map data for. With the grid control at upper left “disabled”, you can freely select any area. With the grid enabled for a particular zoom level, a red grid is laid on top of the map, and selection is automatically “quantized” to full grid squares:
You have to select grid squares in adjacent groups by clicking and dragging; you can’t turn on/off individual squares separate from the rest with Alt-click or Ctrl-click, as you can with some other similar mapset programs (e.g. Garmin’s Mapsource).
The control panel consists of a number of discrete sections, which can be minimized/maximized by clicking on the blue arrows. First section displays the area you’ve selected at right:
You can also enter coordinates manually, then press the “Select entered coordinates” button to refresh the selected area.
Next, there’s a dropdown menu with a list of preprogrammed map sources:
There are currently 56 map sources in this list, some of which cover all of the world, others which are only good for limited areas (and some, like the mytopo.com server, that don’t seem to be currently working at all). Using the Settings section, you can choose to turn off mapsets that you’re not interested in, as well as update the map sources:
You can even add your own map services, though the process is a bit technical, and requires that the map tiles be in a very specific format. Most of these map sources are freely redistributable, and aren’t limited by licensing terms. For some of the commercial sources, (Google Maps, Microsoft/Bing), it’s not clear. In my post on MultiMap, I noted that caching of map tiles is allowed by Google under certain circumstances, and I thought that MultiMap met those restrictions; for MOBAC, I’m not so sure. Bing’s map licensing tends to be a bit looser than Google’s, but even there I’m not sure. Consult a lawyer.