mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
add AVIF enum in JS client [#116]
This commit is contained in:
@@ -27,6 +27,8 @@ export const leafletRasterLayer = (source: PMTiles, options: any) => {
|
|||||||
mimeType = "image/jpeg";
|
mimeType = "image/jpeg";
|
||||||
} else if (header.tileType == 4) {
|
} else if (header.tileType == 4) {
|
||||||
mimeType = "image/webp";
|
mimeType = "image/webp";
|
||||||
|
} else if (header.tileType == 5) {
|
||||||
|
mimeType = "image/avif";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
loaded = true;
|
loaded = true;
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ export enum TileType {
|
|||||||
Png = 2,
|
Png = 2,
|
||||||
Jpeg = 3,
|
Jpeg = 3,
|
||||||
Webp = 4,
|
Webp = 4,
|
||||||
|
Avif = 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
const HEADER_SIZE_BYTES = 127;
|
const HEADER_SIZE_BYTES = 127;
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ export const handlerRaw = async (
|
|||||||
[TileType.Png, "png"],
|
[TileType.Png, "png"],
|
||||||
[TileType.Jpeg, "jpg"],
|
[TileType.Jpeg, "jpg"],
|
||||||
[TileType.Webp, "webp"],
|
[TileType.Webp, "webp"],
|
||||||
|
[TileType.Avif, "avif"],
|
||||||
]) {
|
]) {
|
||||||
if (header.tileType === pair[0] && ext !== pair[1]) {
|
if (header.tileType === pair[0] && ext !== pair[1]) {
|
||||||
if (header.tileType == TileType.Mvt && ext === "pbf") {
|
if (header.tileType == TileType.Mvt && ext === "pbf") {
|
||||||
@@ -194,6 +195,9 @@ export const handlerRaw = async (
|
|||||||
case TileType.Webp:
|
case TileType.Webp:
|
||||||
headers["Content-Type"] = "image/webp";
|
headers["Content-Type"] = "image/webp";
|
||||||
break;
|
break;
|
||||||
|
case TileType.Avif:
|
||||||
|
headers["Content-Type"] = "image/avif";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
let data = tile_result.data;
|
let data = tile_result.data;
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ export default {
|
|||||||
[TileType.Png, "png"],
|
[TileType.Png, "png"],
|
||||||
[TileType.Jpeg, "jpg"],
|
[TileType.Jpeg, "jpg"],
|
||||||
[TileType.Webp, "webp"],
|
[TileType.Webp, "webp"],
|
||||||
|
[TileType.Avif, "avif"],
|
||||||
]) {
|
]) {
|
||||||
if (p_header.tileType === pair[0] && ext !== pair[1]) {
|
if (p_header.tileType === pair[0] && ext !== pair[1]) {
|
||||||
if (p_header.tileType == TileType.Mvt && ext === "pbf") {
|
if (p_header.tileType == TileType.Mvt && ext === "pbf") {
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ export const tileJSON = (
|
|||||||
ext = ".jpg";
|
ext = ".jpg";
|
||||||
} else if (header.tileType === TileType.Webp) {
|
} else if (header.tileType === TileType.Webp) {
|
||||||
ext = ".webp";
|
ext = ".webp";
|
||||||
|
} else if (header.tileType === TileType.Avif) {
|
||||||
|
ext = ".avif";
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ The `Header` is 127 bytes, with little-endian integer values:
|
|||||||
* **tile type**: A hint as to the tile contents. Clients and proxies may use this to:
|
* **tile type**: A hint as to the tile contents. Clients and proxies may use this to:
|
||||||
* Automatically determine a visualization method
|
* Automatically determine a visualization method
|
||||||
* provide a conventional MIME type `Content-Type` HTTP header
|
* provide a conventional MIME type `Content-Type` HTTP header
|
||||||
* Enforce a canonical extension e.g. `.mvt`, `png`, `jpeg`, `.webp` to prevent duplication in caches
|
* Enforce a canonical extension e.g. `.mvt`, `png`, `jpeg`, `.webp`, `.avif` to prevent duplication in caches
|
||||||
|
|
||||||
### Metadata
|
### Metadata
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user