Flatten Arma tiles over callback provider

This commit is contained in:
2026-07-25 18:19:00 -03:00
parent dd987de699
commit dd759dba74
4 changed files with 43 additions and 32 deletions
+4 -13
View File
@@ -34,17 +34,11 @@ CALLBACK_PROVIDER=https://tiles.example-provider.com/{z}/{x}/{y}.png
The template is validated before source processing begins. It must use `https`, cannot include a query, credentials, or a private IP address, and must contain exactly one `{z}`, `{x}`, and `{y}` in its path. Leave the variable empty or unset to use the white `empty.png`.
To show the provider both outside map coverage and through the transparent edges of partially covered tiles, place the local base layer below the overlay layer:
During generation, every tile with Arma coverage is flattened over the callback tile. Therefore MapLibre needs only one source:
```js
sources: {
providerBase: {
type: "raster",
tiles: ["http://localhost:9000/base/{x}/{y}/{z}"],
tileSize: 256,
scheme: "xyz"
},
overlays: {
arma: {
type: "raster",
tiles: ["http://localhost:9000/tiles/{x}/{y}/{z}"],
tileSize: 256,
@@ -53,13 +47,10 @@ sources: {
maxzoom: 17
}
},
layers: [
{ id: "provider-base", type: "raster", source: "providerBase" },
{ id: "overlays", type: "raster", source: "overlays" }
]
layers: [{ id: "arma", type: "raster", source: "arma" }]
```
`/base/{x}/{y}/{z}` and the `/tiles/` fallback request the callback on demand and share a persistent local cache. Display attribution and comply with the selected provider's terms.
Only `/tiles/{x}/{y}/{z}` is public. Tiles without Arma coverage are fetched on demand from the callback and cached by Nginx. The builder also caches callback tiles while flattening covered areas. Display attribution and comply with the selected provider's terms.
## Inputs