function TileCoordinatesImageryProvider(options) {
  options = options ?? Frozen.EMPTY_OBJECT;

  this._tilingScheme = defined(options.tilingScheme)
    ? options.tilingScheme
    : new GeographicTilingScheme({ ellipsoid: options.ellipsoid });
  this._color = options.color ?? Color.YELLOW;
  this._errorEvent = new Event();
  this._tileWidth = options.tileWidth ?? 256;
  this._tileHeight = options.tileHeight ?? 256;

  this._defaultAlpha = undefined;
  this._defaultNightAlpha = undefined;
  this._defaultDayAlpha = undefined;
  this._defaultBrightness = undefined;
  this._defaultContrast = undefined;
  this._defaultHue = undefined;
  this._defaultSaturation = undefined;
  this._defaultGamma = undefined;
  this._defaultMinificationFilter = undefined;
  this._defaultMagnificationFilter = undefined;
}
An {@link ImageryProvider} that draws a box around every rendered tile in the tiling scheme, and draws
a label inside it indicating the X, Y, Level coordinates of the tile.  This is mostly useful for
debugging terrain and imagery rendering problems.

@alias TileCoordinatesImageryProvider
@constructor

@param {TileCoordinatesImageryProvider.ConstructorOptions} [options] Object describing initialization options