Offline maps on Meshtastic

I have issues even getting the project on android studio(beta): when I want to build it doesn’t detect the config I guess
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :geeksville-androidlib.

ooh great that you are trying to build it - sorry for not making a better README yet for that project.

The project uses git submodules for a few dependencies.
This should fix it for you:

git submodule update --init --recursive

You will also need to create a few stub config files by copying them from their templates. Here’s how the github continuous integration does it:

        rm ./app/google-services.json
        cp ./app/google-services-example.json ./app/google-services.json
        rm ./app/src/main/res/values/mapbox-token.xml
        cp ./app/special/mapbox-token.xml ./app/src/main/res/values/
        rm ./app/src/main/res/values/curfirmwareversion.xml
        cp ./app/special/curfirmwareversion.xml ./app/src/main/res/values/

actually - I decided to just add this to the README

now it works (Manjaro) but why cant I run the android yml? And on the self compiled map I get an error:

E/Mbgl: {geeksville.mesh}[Setup]: loading style failed: HTTP status code 401


W/FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval

This also could be because i have no play services installed

I don’t quite understand “why cant I run the android yml?” - can you elaborate?

Btw for your cool new maps possibly best to make them a peer of the other screens (fragments), then we could allow either or both (for testing) of the maps to be in the users app.

ah in the android.yml there are also the dependencie commands thought you can run theese

@Konradrundfunk Development on offline maps sounds fantastic! c:geo would also support geocaching out of the box. Might be pleasant news for all geocache enthusiasts.

I am not very fimillular with kotlin maybe we could team up I am also quiet into geocashing

Hi just for info re hiking with offline maps. I would use to download maps and use them on cartograph. Usually I do this on my iphone but cartograph do have an Android equivalent although I have not tested it.
Openandromaps offer mapsforge maps which are great for hiking. You also get POIs.
Cartograph allows you to record your track.
I have no idea how you could code the Meshtastic app to allow you to have a selection of offline providers unfortunately. So I cannot help much!

1 Like

the mapbox API has support for automatically downloading and using offline maps that cover wherever you are. Alas, we just don’t call that API yet :wink:

Hey guys, have a look into API for Locus Maps. They were helpful when I tried to design a prototype of LORA based tracker integrated with their maps and API. They offer free version and of course the paid one (for approx. 10USD per phone installation). They have great offline maps and huge community.


thanks for the pointer!

Hi guys,
thanks @slavino for notification on this topic. As Locus Map dev, I’ll just give you a quick info here.
From my quick reading, seems you are looking for replacement for offline MapView system. Not sure why you want to replace MapBox system, but from the free alternatives, this is currently most easy to achive with MapsForge library (that Locus Map use as well). Anyway there is still some work with map distribution etc.

Locus Map and it’s API are not! replacement for the map view. App only offers API for displaying and work with app data on the map. Locus Map is mainly about maps, so if you want and easy and quick solution how to get maps to more people, you may give it a try. It is possible to simply create a service on your side, that will every second send new list of points to the Locus Map (if is running) so users may see content on many of available maps etc etc.

I’m not advertising Locus Map here, maybe opposite: warn you in case, you are really searching only for replacement of the MapView system.

If there will be any questions, feel free to ask, I’ll gladly help ;).

PS: btw nice example how this works is LiveMap offered by add-on Geocaching4Locus (geocaches downloaded from internet and refreshed on the map when user moves with the map).


Ehm, sure but your ecosystem delivers also possibility to see all that map information even on smartwatch (for me it works on your free app on Samsung’s Gear S2 and latest Samsung Watch as well).

Other than that - the map layer is fantastic and is available offline. I don’t even count the situations when I am out of GSM coverage and any hint about terrain, forest roads, etc. were urgently needed :slight_smile: You did a fantastic job with this app - Thank you!

The only downside is missing iOS port of Locus - but that’s another story as I don’t care much about Apple.

1 Like

I wonder if it would be somehow possible to make use the extremely great osmand offline maps app. :world_map:

Specially when it is about hiking :walking_man: :hiking_boot: , biking :biking_man::mountain_biking_woman: , skiing :skier::ski: , boating :sailboat::rowing_woman: , flying :parachute: :small_airplane: etc. there is nothing comparable out there to osmand imho. Topgrapic maps with hill shades, contour lines and navigation profiles for all ways of mean - everything extremely customizable - all offline!

With Osmand recently made custom packages/plugins available it should be possible to bring the meshtastic location data into osmand with a little plug in if I’m not totally wrong.

Also Osmand already supports “online gps tracker” so the function (to show people/trackers on the map) is already present :artificial_satellite:

And I just found this useful github post


I suggest the best Offilne map is CivTAK. They SHOULD be releasing the SDK as open source this week.

Discord site for discussion:

Video on ATAK and alternative Off-Line maps:

1 Like

You are suggesting writing a plug-in for CivTAK to support communications with Meshtastic enabling placing nodes on the map? Does CivTAK support text messaging with something other than say XMPP or CoT, or would this capability need to be embodied into the plug-in development?

Some conscious thought will have to go into avoiding the bias of using urban areas for map examples. 4 of 5 OpenStreetMap basemap layers, which are the main source other apps draw from, are almost completely useless when there are no roads to display. For example, this is the 4km surrounding my home… completely blank…

If the off-the-beaten-path use-cases (hiking, search and rescue, etc.) are to get any value from the maps, the only OSM layer that’s useful in likely locations is the Cycle Map, which at least shows topographical lines.

This is the Cycle Map for roughly the same area as above. Transport, OPNVKarte, and Humanitarian are also blank here.

That’s part of why I defaulted the current mapbox map to their hiking map. (And if someone wants to turn on their off-line map support it looks fairly easy)