JS cleanup (#640)

* JS cleanup

* remove unused function
* leaflet: properly clean up object URLs
* maplibre: refactor tile type detection
* update leaflet raster example
This commit is contained in:
Brandon Liu
2026-02-10 19:07:24 -05:00
committed by GitHub
parent 46b5e9c716
commit 36bb8046b5
3 changed files with 6 additions and 23 deletions

View File

@@ -77,6 +77,7 @@ export const leafletRasterLayer = (source: PMTiles, options: unknown) => {
}
if (tile.el.cancel) tile.el.cancel();
if (tile.el.src) window.URL.revokeObjectURL(tile.el.src);
tile.el.width = 0;
tile.el.height = 0;
@@ -256,7 +257,6 @@ export class Protocol {
const x = result[3];
const y = result[4];
const header = await instance.getHeader();
const resp = await instance?.getZxy(+z, +x, +y, abortController.signal);
abortController.signal.throwIfAborted();
if (resp) {
@@ -266,6 +266,7 @@ export class Protocol {
expires: resp.expires,
};
}
const header = await instance.getHeader();
if (header.tileType === TileType.Mvt) {
if (this.errorOnMissingTile) {
throw new Error("Tile not found.");

View File

@@ -551,23 +551,6 @@ function deserializeIndex(buffer: ArrayBuffer): Entry[] {
return entries;
}
function detectVersion(a: ArrayBuffer): number {
const v = new DataView(a);
if (v.getUint16(2, true) === 2) {
console.error(
"PMTiles spec version 2 is not supported; please see github.com/protomaps/PMTiles for tools to upgrade"
);
return 2;
}
if (v.getUint16(2, true) === 1) {
console.error(
"PMTiles spec version 1 is not supported; please see github.com/protomaps/PMTiles for tools to upgrade"
);
return 1;
}
return 3;
}
/**
* Error thrown when a response for PMTiles over HTTP does not match previous, cached parts of the archive.
* The default PMTiles implementation will catch this error once internally and retry a request.