import { Component, Host, Input, OnInit, forwardRef } from '@angular/core'; import { TileJSON } from 'ol/source'; import { LayerTileComponent } from '../layers/layertile.component'; import { SourceComponent } from './source.component'; @Component({ selector: 'aol-source-tilejson', template: ` `, providers: [{ provide: SourceComponent, useExisting: forwardRef(() => SourceTileJSONComponent) }], }) export class SourceTileJSONComponent extends SourceComponent implements OnInit { @Input() url: string; instance: TileJSON; constructor(@Host() layer: LayerTileComponent) { super(layer); } ngOnInit() { this.instance = new TileJSON(this); this.host.instance.setSource(this.instance); } }