terriajs
Version:
Geospatial data visualization platform.
31 lines • 1.15 kB
JavaScript
import ImageryProvider from "terriajs-cesium/Source/Scene/ImageryProvider";
import URI from "urijs";
function getUrlForImageryTile(imageryProvider, x, y, level) {
const oldLoadImage = ImageryProvider.loadImage;
let tileUrl;
try {
ImageryProvider.loadImage = function (_imageryProvider, url) {
if (typeof url === "string" || url instanceof String) {
tileUrl = url;
}
else if (url.url) {
tileUrl = url.url;
// Add the Cesium Ion access token if there is one (for an IonResource).
const ionAccessToken = url._ionEndpoint?.accessToken;
if (ionAccessToken) {
tileUrl = new URI(tileUrl)
.addQuery("access_token", ionAccessToken)
.toString();
}
}
return undefined;
};
imageryProvider.requestImage(x, y, level);
}
finally {
ImageryProvider.loadImage = oldLoadImage;
}
return tileUrl;
}
export default getUrlForImageryTile;
//# sourceMappingURL=getUrlForImageryTile.js.map