Custom geobasemaps not show in compiled application.
Show older comments
I have created a simple appdesigner application, which shows some geographic data on top of three types of basemaps. I have some custom basemaps, which I define at the startupFcn. The program runs correctly when run from Matlab, however, the custom maps (2 out of the 3) are not shown when the program is compiled as a standalone application. When changed to default basemaps it works even if it is compiled.
This is how I add the custom basemaps at the startupFcn:
% Add custom basemap 1
name = 'openstreetmap';
url = 'a.tile.openstreetmap.org';
copyright = char(uint8(169));
attribution = copyright + "OpenStreetMap";
addCustomBasemap(name,url,'Attribution',attribution)
% Add custom basemap 2
name = 'opentopomap';
url = 'a.tile.opentopomap.org';
copyright = char(uint8(169));
attribution = copyright + "OpenTopoMap";
addCustomBasemap(name,url,'Attribution',attribution)
The basemap is displayed using the following code:
geobasemap(app.geo_AX,'openstreetmap')
This is the GUI of the app:

How to used cumsom basemaps in standalone desktop apps?
Accepted Answer
More Answers (2)
Kathleen Holland
on 24 Aug 2021
0 votes
I have a set of map tiles in a local directory, not at a URL. When I try to do:
addCustomBasemap('myMaps','C:\Users\<userid>\Documents\maps\myMaps','Attribution','me');
I get an error saying
Warning: Unable to read map tiles from URL
'https://C:\Users\<userid>\Documents\maps\myMaps'. Invalid URL:
How can I install a custom set of map tiles that are resident on my computer?
Kelly Luetkemeyer
on 25 Aug 2021
0 votes
HI,
You can use a local http server to serve the map tiles. There are several implementations, such as Apache. You can search the File Exchange for some implementations in MATLAB. Here is one example, Web Server. You could also create your own using Java, Python, or Node. Also, you could even use a Docker container that has a web server.
The map tiles need to be in a specific folder structure. You can define this structure by using ${row/col/zoom}. For example:
Categories
Find more on Call C from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!