BaseTileLayer.js 2.3 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import{_ as e}from"../chunks/tslib.es6.js";import t from"../request.js";import r from"../core/Error.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/accessorSupport/ensureType.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import i from"../geometry/Extent.js";import a from"../geometry/SpatialReference.js";import{create as p}from"../geometry/support/aaBoundingRect.js";import l from"./Layer.js";import{BlendLayer as n}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as c}from"./mixins/ScaleRangeLayer.js";import f from"./support/TileInfo.js";import{TileKey as y}from"./support/TileKey.js";var u;const h=new y("0/0/0",0,0,0,void 0);let d=u=class extends(n(c(m(l)))){constructor(){super(...arguments),this.tileInfo=f.create({spatialReference:a.WebMercator,size:256}),this.type="base-tile",this.fullExtent=new i(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,a.WebMercator),this.spatialReference=a.WebMercator}getTileBounds(e,t,r,o){const s=o||p();return h.level=e,h.row=t,h.col=r,h.extent=s,this.tileInfo.updateTileInfo(h),h.extent=void 0,s}fetchTile(e,r,o,s={}){const{signal:i}=s,a=this.getTileUrl(e,r,o),p={responseType:"image",signal:i,query:{...this.refreshParameters}};return t(a??"",p).then((e=>e.data))}async fetchImageBitmapTile(e,r,o,s={}){const{signal:i}=s;if(this.fetchTile!==u.prototype.fetchTile)return createImageBitmap(await this.fetchTile(e,r,o,s));const a=this.getTileUrl(e,r,o),p={responseType:"blob",signal:i,query:{...this.refreshParameters}},{data:l}=await t(a??"",p);return createImageBitmap(l)}getTileUrl(){throw new r("basetilelayer:gettileurl-not-implemented","getTileUrl() is not implemented")}};e([o({type:f})],d.prototype,"tileInfo",void 0),e([o({type:["show","hide"]})],d.prototype,"listMode",void 0),e([o({readOnly:!0,value:"base-tile"})],d.prototype,"type",void 0),e([o({nonNullable:!0})],d.prototype,"fullExtent",void 0),e([o()],d.prototype,"spatialReference",void 0),d=u=e([s("esri.layers.BaseTileLayer")],d);const g=d;export{g as default};