ol-pmtiles passes headers like other ol source options (#261)

This commit is contained in:
Brandon Liu
2023-10-01 11:29:50 +08:00
committed by GitHub
parent 8c282b90da
commit 0cba01d8a6
4 changed files with 30 additions and 11 deletions

View File

@@ -9,7 +9,7 @@
"version": "0.2.0", "version": "0.2.0",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"pmtiles": "^2.10.0" "pmtiles": "2.11.0"
}, },
"devDependencies": { "devDependencies": {
"esbuild": "^0.15.11" "esbuild": "^0.15.11"
@@ -591,9 +591,9 @@
} }
}, },
"node_modules/pmtiles": { "node_modules/pmtiles": {
"version": "2.10.0", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-2.10.0.tgz", "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-2.11.0.tgz",
"integrity": "sha512-X+s6JyperpcAkKwv55MKx72ckOUB0ZjcfK4929iM0SS0MkLydEi2FSW1E8YTE1E2XaZ2TVk/MIUrbsZuXV7K2g==", "integrity": "sha512-dU9SzzaqmCGpdEuTnIba6bDHT6j09ZJFIXxwGpvkiEnce3ZnBB1VKt6+EOmJGueriweaZLAMTUmKVElU2CBe0g==",
"dependencies": { "dependencies": {
"fflate": "^0.8.0" "fflate": "^0.8.0"
} }

View File

@@ -26,7 +26,7 @@
"prettier-check": "prettier --check *.js" "prettier-check": "prettier --check *.js"
}, },
"dependencies": { "dependencies": {
"pmtiles": "^2.10.0" "pmtiles": "2.11.0"
}, },
"devDependencies": { "devDependencies": {
"esbuild": "^0.15.11" "esbuild": "^0.15.11"

View File

@@ -22,7 +22,11 @@ export class PMTilesRasterSource extends DataTile {
}, },
}); });
const p = new pmtiles.PMTiles(options.url); const fetchSource = new pmtiles.FetchSource(
options.url,
new Headers(options.headers),
);
const p = new pmtiles.PMTiles(fetchSource);
p.getHeader().then((h) => { p.getHeader().then((h) => {
this.tileGrid.minZoom = h.minZoom; this.tileGrid.minZoom = h.minZoom;
this.tileGrid.maxZoom = h.maxZoom; this.tileGrid.maxZoom = h.maxZoom;
@@ -59,7 +63,7 @@ export class PMTilesVectorSource extends VectorTile {
format.readFeatures(tile_result.data, { format.readFeatures(tile_result.data, {
extent: extent, extent: extent,
featureProjection: projection, featureProjection: projection,
}) }),
); );
tile.setState(TileState.LOADED); tile.setState(TileState.LOADED);
} else { } else {
@@ -84,7 +88,11 @@ export class PMTilesVectorSource extends VectorTile {
}, },
}); });
this.pmtiles_ = new pmtiles.PMTiles(options.url); const fetchSource = new pmtiles.FetchSource(
options.url,
new Headers(options.headers),
);
this.pmtiles_ = new pmtiles.PMTiles(fetchSource);
this.pmtiles_.getHeader().then((h) => { this.pmtiles_.getHeader().then((h) => {
this.tileGrid.minZoom = h.minZoom; this.tileGrid.minZoom = h.minZoom;
this.tileGrid.maxZoom = h.maxZoom; this.tileGrid.maxZoom = h.maxZoom;

View File

@@ -1,5 +1,8 @@
// IMPORTANT: this file is manually edited! // IMPORTANT: this file is manually edited!
// copy any changes made from src/index.js to here // copy any changes made from src/index.js to here
// to automate this we need a rollup or esbuild script
// to resolve the imports to the ol global correctly
// as well as get the enum values of TileState, which is elided
// import DataTile from "ol/source/DataTile"; // import DataTile from "ol/source/DataTile";
// import VectorTile from "ol/source/VectorTile"; // import VectorTile from "ol/source/VectorTile";
@@ -25,7 +28,11 @@ export class PMTilesRasterSource extends ol.source.DataTile {
}, },
}); });
const p = new pmtiles.PMTiles(options.url); const fetchSource = new pmtiles.FetchSource(
options.url,
new Headers(options.headers),
);
const p = new pmtiles.PMTiles(fetchSource);
p.getHeader().then((h) => { p.getHeader().then((h) => {
this.tileGrid.minZoom = h.minZoom; this.tileGrid.minZoom = h.minZoom;
this.tileGrid.maxZoom = h.maxZoom; this.tileGrid.maxZoom = h.maxZoom;
@@ -62,7 +69,7 @@ export class PMTilesVectorSource extends ol.source.VectorTile {
format.readFeatures(tile_result.data, { format.readFeatures(tile_result.data, {
extent: extent, extent: extent,
featureProjection: projection, featureProjection: projection,
}) }),
); );
tile.setState(2); tile.setState(2);
} else { } else {
@@ -87,7 +94,11 @@ export class PMTilesVectorSource extends ol.source.VectorTile {
}, },
}); });
this.pmtiles_ = new pmtiles.PMTiles(options.url); const fetchSource = new pmtiles.FetchSource(
options.url,
new Headers(options.headers),
);
this.pmtiles_ = new pmtiles.PMTiles(fetchSource);
this.pmtiles_.getHeader().then((h) => { this.pmtiles_.getHeader().then((h) => {
this.tileGrid.minZoom = h.minZoom; this.tileGrid.minZoom = h.minZoom;
this.tileGrid.maxZoom = h.maxZoom; this.tileGrid.maxZoom = h.maxZoom;