UNPKG

@trailstash/ultra

Version:

A web based tool for making MapLibre GL maps with data from sources such as Overpass, GeoJSON, GPX, KML, TCX, etc

32 lines (30 loc) 803 B
export class Protocol { static name = "glyphs"; static makeURL = (url) => { const params = new URLSearchParams(); if (url) { params.set("url", url); } return `${Protocol.name}://origin/{fontstack}/{range}?${params.toString()}`; }; tile = async (params) => { const url = new URL(params.url); let resp; const [fontstack, range] = url.pathname.split("/").slice(-2); if (url.searchParams.has("url")) { resp = await fetch( url.searchParams .get("url") .replace("{fontstack}", fontstack) .replace("{range}", range), ); } if (!resp || !resp.ok) { resp = await fetch(`./font/${range}.pbf`); } if (resp) { return { data: await resp.arrayBuffer() }; } }; } export default Protocol;