Tile server basemaps for MapInfo

Ever needed a stylish basemap to display under some map data but have no idea where to look or how to even get it into MapInfo?

Well worry no more, try this:


With the click of a button you can quickly add one of many stylish and freely available basemaps to your map.

The basemaps come from various providers in tile format which with a bit of MapBasic can be converted into TAB files. I have selected a few of my favourites from this rather large list of basemaps and added them to a handy toolbar menu.
The menu is based on the excellent dynamic XML menu example by James Moloney. This means you, the user, can easily add or remove basemaps from the menu by editing a simple XML file.


Download, extract the zip file and run the MBX in MapInfo 10.5 or above.
You’ll now have a ‘Basemaps’ option on the toolbar, so get clicking!

The only thing you need to be aware of is there must be a folder called ‘TABs’ in the same directory as the MBX. This is where the TAB files are created so will fail if it doesn’t exist. You can take copies of or move these TABs and they will still work without this basemaps tool.

To add or remove basemaps from the menu, edit Basemaps.xml and then re-run the tool. Hopefully the structure is self explanatory.
You can find all the values you need as well as seeing a preview of each basemap here.

Any issues, leave a comment below.


The tool is released under the GNU GPL license so is free to copy, modify or distribute however you please.
All basemaps are free to use and should already include all the correct attribution for use in MapInfo. Please check with the individual providers if you plan to print or distribute the maps to ensure you’re not in breach of their licensing agreements.
HERE and Esri maps require registration to use, please see here for more info.


Due to changes in MapInfo 12.5, there are now 2 versions of the tool:
[wpdm_package id=’190′]Includes sourcecode, compiled MBX (v9.5) and config XML file.

[wpdm_package id=’191′]Includes sourcecode, compiled MBX (v12.5) and config XML file.

Known issues / limitations:

– Tile Server support was added in v10.5 of MapInfo. Therefore, while the tool may run in older versions, you will not be able to open any of the basemaps/TAB files.

– Some basemaps at certain zoom levels are pixelated. This is related to the tile height setting, the size of the MapInfo map window and the particular basemap you are using. You can modify the tile height setting in the sourcecode and recompile but I found ‘230’ seemed to give ok results for most maps. I also noticed resizing the map window seemed to improve the quality too.

– Some basemaps seem to be missing tiles at certain zoom levels. Not much can be done about this besides try a different zoom level or a different basemap.

– Some basemaps give an error at certain zoom levels. This means there are no tiles at this level. Why MapInfo returns an error while for other basemaps it simply displays no basemap, I don’t know.

– The OpenWeatherMap layers appear black. This is because MapInfo doesn’t deal with transparency unless you tell it to: Layer Properties > Style override > Transparent.

– Messy code, haha. Could do with a tidy up and more comments, but that’s what v1.1 is for.


13 thoughts on “Tile server basemaps for MapInfo

  1. Cheers — this is a great tool!

    One request: would it be possible for you to add a licence for the tool itself (as opposed to the feed data, which you address under Licensing above). I’d like to recommend this to someone but they will want to know what the terms are.

  2. Hi Brendan. Nice ‘Basemaps’ add-on. Just getting used to it until we upgraded to MI 12.5. Now Basemaps for Mapinfo won’t load. MI compalins that ‘GmlXat.dll can’t be found’, with ‘Unable to link to external library’ message. Any ideas on a fix, please?

    • Sorry, I’ve been on holiday and don’t have 12.5 on my laptop. When I’m back at work I’ll try it with 12.5 and let you know how I get on.

      • Hi John, there were a few changes to MapInfo 12.5 which I have now accounted for in the new version of the tool. See the download link above.

  3. Hi Brendan, Really, really useful set of layers. I’ve gone into the Leaflet Provider Demo page and there are a few other layers I’d like to add to the basemaps. Ive added the additional line into the basemaps.xml to load a .png layer, but how do i create the necessary .TAB and .XML in my TileserverTABs folder?

    • Thanks, I’m glad you’re finding it useful. Once you have successfully added the details to the basemaps.XML file, the next time you load the tool the new basemap should appear in the menu. The first time you select this basemap it will create the relevant TAB and XML files automatically. If it doesn’t show up in the menu then there is an error in the XML file. Usually related to special characters.
      Hope that helps.

  4. Hi Brendan,

    Really usefull tool, i have been using it extensively, PB should have built this long ago.

    Is it possible for a user to build the mbx to connect to a local tile cache like C:OSMtileslevelfolderfolder because i have built a .htm which is good for use in a browser but i want users to be able to use it in MI.
    Best Regards

    • Hi Scott,
      In theory it’s already possible with the existing MBX but it depends how your tilecache was generated.

      Firstly, the tiles will need to be served locally via http and accessible to your users.

      Secondly, the tile cache will need to be generated with the correct parameters (e.g EPSG:3785). Since you’re using OSM you’re might be ok as it’s probably already in EPSG:3785.

      To try it, add or edit an existing entry in the basemaps.xml file:

      Hope that helps,


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s