Adding Bing Maps (including OS) to Locus Maps Classic

I’ve been a huge fan of Locus Maps on Android for years now. It’s way better than any of the other apps, including any that Ordnance Survey themselves have released over the years. It has so many features but the most important one for me is the ability to cache map tiles and use offline.

Originally it came with the ability to use UK Ordnance Survey maps built in, but that was soon removed due to contravening terms of service. Then a separate app called Locus Map Tweak was released to add maps back into Locus that had been removed. I’m not sure if that app is still around but it didn’t work for Bing maps any more as Microsoft introduced a requirement to sign up for an API key.

Rest assured, getting all Bing maps (road, hybrid, satellite and OS) working in Locus Maps Classic is very easy and only takes 5 to 10 minutes. Here is a guide to do just that.

Note: this is only for Locus Classic (formerly Locus Pro v3). I haven’t tested or even used Locus 4 as yet.

First you must register for an account with Microsoft if you don’t already have one. If you’ve ever had a Hotmail/Live email address in the past you probably already have one and can just log in to that. If not, register for one here:

https://signup.live.com/signup

Once logged in you can obtain a Bing maps key at the address below. You only need the Basic key.

https://www.microsoft.com/en-us/maps/create-a-bing-maps-key#basic

To create a new key, navigate to the “My account” menu and select “My Keys” as shown below.

Click on the “Click here to create a new key” link and populate the input boxes as shown below. Although change application name to whatever you want. It’s not important.

Once you’ve hit “Create” it should show up in a table and you can click on “Copy key” as shown below.

Keep this key safe. Paste it into a plain text document (e.g. Notepad or similar) and don’t share with others. This is your unique API key and it’s used to identify and then limit individual users from downloading too much map data from Bing per day. OK so you’re unlikely to hit those limits so maybe share with your nearest and dearest but ideally everyone should just get their own key.

Now we need to create a providers.xml file using the example below. Just copy and paste the code below into Notepad or equivalent and save as providers.xml. Then just make one small change to that file. Where it says YOUR_API_KEY_HERE (line #50), you need to enter your own API key. So replace YOUR_API_KEY_HERE with the long random string that Microsoft provided you with.

<?xml version="1.0" encoding="UTF-8"?>
<providers>
    <!-- BING maps  -->
    <provider id="10050" type="5" visible="true" background="-1">
        <name>Bing</name>
        <mode>Road</mode>
        <countries>World</countries>
        <url><![CDATA[http://ecn.t0.tiles.virtualearth.net/tiles/r{c}?g=604&mkt=en-us&lbl=l1&stl=h&shading=hill&n=z]]></url>
        <zoomPart>25-{z}</zoomPart>
        <zoomMin>8</zoomMin>
        <zoomMax>28</zoomMax>
        <tileSize>256</tileSize>
        <attribution><![CDATA[© 2011 Microsoft | <a href="http://go.microsoft.com/fwlink/?LinkId=74170">Privacy</a> | <a href="http://g.msn.com/0TO_/enww">Legal</a>]]></attribution>
        <extraHeader><![CDATA[Referer#http://www.bing.com/maps/]]></extraHeader>
        <extraHeader><![CDATA[User-Agent#Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1]]></extraHeader>
        <usage>road,city</usage>
    </provider>
    <provider id="10051" type="5" visible="true" background="-1">
        <name>Bing</name>
        <mode>Hybrid</mode>
        <countries>World</countries>
        <url><![CDATA[http://ecn.t0.tiles.virtualearth.net/tiles/h{c}.jpeg?g=604&mkt=en-us&n=z]]></url>
        <zoomPart>25-{z}</zoomPart>
        <zoomMin>8</zoomMin>
        <zoomMax>25</zoomMax>
        <tileSize>256</tileSize>
        <attribution><![CDATA[© 2011 Microsoft | <a href="http://go.microsoft.com/fwlink/?LinkId=74170">Privacy</a> | <a href="http://g.msn.com/0TO_/enww">Legal</a>]]></attribution>
        <extraHeader><![CDATA[Referer#http://www.bing.com/maps/]]></extraHeader>
        <extraHeader><![CDATA[User-Agent#Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1]]></extraHeader>
        <usage>photo</usage>
    </provider>
    <provider id="10052" type="5" visible="false" background="-1">
        <name>Bing</name>
        <mode>London A-Z</mode>
        <countries>England</countries>
        <url><![CDATA[http://ecn.t3.tiles.virtualearth.net/tiles/r{c}.png?g=604&productSet=mmCB]]></url>
        <zoomPart>25-{z}</zoomPart>
        <zoomMin>8</zoomMin>
        <zoomMax>25</zoomMax>
        <tileSize>256</tileSize>
        <attribution><![CDATA[© 2011 Microsoft | <a href="http://go.microsoft.com/fwlink/?LinkId=74170">Privacy</a> | <a href="http://g.msn.com/0TO_/enww">Legal</a>]]></attribution>
        <extraHeader><![CDATA[Referer#http://www.bing.com/maps/]]></extraHeader>
        <extraHeader><![CDATA[User-Agent#Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1]]></extraHeader>
        <usage>road,city</usage>
    </provider>
    <provider id="10055" type="5" visible="true" background="-1">
        <name>Bing</name>
        <mode>OS Maps</mode>
        <countries>England</countries>
        <url><![CDATA[http://ak.t3.tiles.virtualearth.net/tiles/r{c}.png?g=3455&lbl=l1&productSet=mmOS&key=YOUR_API_KEY_HERE]]></url>
        <serverPart>0;1;2;3;4</serverPart>
        <zoomPart>25-{z}</zoomPart>
        <zoomMin>8</zoomMin>
        <zoomMax>23</zoomMax>
        <tileSize>256</tileSize>
        <attribution><![CDATA[© 2011 Microsoft | <a href="http://go.microsoft.com/fwlink/?LinkId=74170">Privacy</a> | <a href="http://g.msn.com/0TO_/enww">Legal</a>]]></attribution>
        <extraHeader><![CDATA[Referer#http://www.bing.com/maps/]]></extraHeader>
        <extraHeader><![CDATA[User-Agent#Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1]]></extraHeader>
        <usage>road,city</usage>
    </provider>
    <provider id="10054" type="5" visible="true" background="-1">
        <name>Bing</name>
        <mode>Satellite</mode>
        <countries>World</countries>
        <url><![CDATA[http://ecn.t0.tiles.virtualearth.net/tiles/a{c}.jpeg?g=604&mkt=en-us&n=z]]></url>
        <zoomPart>25-{z}</zoomPart>
        <zoomMin>8</zoomMin>
        <zoomMax>25</zoomMax>
        <tileSize>256</tileSize>
        <attribution><![CDATA[© 2011 Microsoft | <a href="http://go.microsoft.com/fwlink/?LinkId=74170">Privacy</a> | <a href="http://g.msn.com/0TO_/enww">Legal</a>]]></attribution>
        <extraHeader><![CDATA[Referer#http://www.bing.com/maps/]]></extraHeader>
        <extraHeader><![CDATA[User-Agent#Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1]]></extraHeader>
        <usage>photo</usage>
    </provider>
</providers>

Now for the final piece of the puzzle, you need to copy this providers.xml file to a specific folder on your Android device. This used to be really easy but since Android 11 the security regarding app data folder access has been tightened somewhat.

The location that the providers.xml needs to be placed is:

/storage/emulated/0/Android/data/menion.android.locus.pro/files/Locus/mapsOnline/custom/

I’m not 100% if that path will be exactly the same on every Android device, please do let me know if it’s different on yours. Depending on what method or app you’re using to browse files on your device, you might not see the “/storage/emulated/0/” part of the folder and instead be automatically taken inside that folder by default.

Note: if the folder called “custom” doesn’t already exist, just create it.

The app I’m using to access the folder is Explorer which you can find in the Play store here:

https://play.google.com/store/apps/details?id=com.speedsoftware.explorer

I keep a copy of my providers.xml in a folder on my Google Drive and this app allows me to connect to my Google Drive, copy providers.xml and paste it inside the Locus folder.

If all has gone well, when you open up Locus Classic now and go to the “Map manager” menu item, you should see Bing maps under “User maps” right down at the bottom of the list. You can download/cache Bing maps for offline use just like any other.

If you have any problems follow these instructions please comment below. I will do my best to flesh this post out with screenshots over time and improve the guide when required.

16 thoughts on “Adding Bing Maps (including OS) to Locus Maps Classic”

      1. Freddy Kruger

        Just noticed, with V4 I only seem to get the Satellite hybrid option, not the other maps unfortunately. Any idea?

        1. willdashwood

          Do you mean that it’s stopped working but was previously? I’m afraid I’m still using v3 so can’t be of much assistance.

  1. Thank you for this great tutorial, it worked great. I am not great with XML, but i was wondering if you could do one for thunderforest outdoor map given it has national trail names on it. I am not sure if it is possible, but it would be really appreciated if it could. I have an API for thunderforest.

    Locus 4 works fine with your script

  2. tried doing this – even signed up to gold service to try get extra features but no luck,
    the path i have is
    menion.android.locus/files/Locus/maps (note no .pro after android.locus)

    i added a custom folder and copied the providers xml in there but it doesn’t appear as an option in map manager

    anyone ?

    1. willdashwood

      The “pro” part of the file path is probably because I have the full paid version of Locus Classic, bought a long, long time ago. Does the following path exist on you device?

      /menion.android.locus/files/Locus/mapsOnline/

      If not just create it and then create a folder called “custom” inside it. That’s where providers.xml should be uploaded.

      1. I have two folders under Locus. maps and mapsVector.

        don’t have mapsOnline.

        I copied provders.xml to both for belt and braces and made a custom folder under maps.

        no joy…..

        1. willdashwood

          If you don’t have a folder called mapsOnline, create it and then create “custom” inside it. Then upload providers.xml to that folder. So in full it should be:

          /menion.android.locus/files/Locus/mapsOnline/custom/providers.xml

  3. Nope, still no joy – I;ve stuck a help me post on their forum with a link back here
    Tks anyway
    Dave

  4. Hi,
    Is the custom maps feature still working?
    I used to have custom map, but after the last app update I can’t see them in the app map manager.
    Is it possible that they turned it into pro\payed feature?
    Thanks

  5. Hi there! Hope you are doing well. I love reading your PC hardware articles. Any chance you could tell us about your latest PC exploits and what CPU you overclocked to the moon and how? Thanks!

    1. willdashwood

      I switched to a MacBook Pro as my main device a few years ago. I left the overlocking scene decades ago!

Leave a Reply to willdashwood Cancel Reply

Your email address will not be published. Required fields are marked *