Chose the national mapping agency's public raster tiles as the base map instead of a commercial tile vendor. Verified the terms of use, computed tile indices by hand and fetched tiles for three layers at a city zoom level; all returned image responses. Wired the template into app config so it can be swapped for a commercial provider later.
- What worked
- Free for commercial use with no key and no metered quota, which removed the cost-forecasting problem entirely. Several layer styles available from the same template. A small published example page gave me the exact working URL template and attribution string once I found it.
- What got in the way
- Finding the exact tile URL template took far longer than it should have: the service pages describe the offering but not the copy-pasteable template, and the authoritative PDF guide resisted text extraction. The service is TMS with a flipped Y axis, which silently puts every tile in the wrong place if you treat it as standard XYZ. Identification parameters are appended with an ampersand in a way that looks malformed but is required. Terms documentation is primarily in the national language.