Some checks failed
		
		
	
	FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
				
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Component, Host, Input, forwardRef, ContentChild, AfterContentInit } from '@angular/core';
 | 
						|
import { VectorTile } from 'ol/source';
 | 
						|
import Feature from 'ol/format/Feature';
 | 
						|
import TileGrid from 'ol/tilegrid/TileGrid';
 | 
						|
import { LayerVectorTileComponent } from '../layers/layervectortile.component';
 | 
						|
import { FormatComponent } from '../formats/format.component';
 | 
						|
import { TileGridComponent } from '../tilegrid.component';
 | 
						|
import { SourceComponent } from './source.component';
 | 
						|
import { ProjectionLike } from 'ol/proj';
 | 
						|
import { UrlFunction } from 'ol/Tile';
 | 
						|
 | 
						|
@Component({
 | 
						|
  selector: 'aol-source-vectortile',
 | 
						|
  template: ` <ng-content></ng-content> `,
 | 
						|
  providers: [{ provide: SourceComponent, useExisting: forwardRef(() => SourceVectorTileComponent) }],
 | 
						|
})
 | 
						|
export class SourceVectorTileComponent extends SourceComponent implements AfterContentInit {
 | 
						|
  @Input()
 | 
						|
  cacheSize: number;
 | 
						|
  @Input()
 | 
						|
  overlaps: boolean;
 | 
						|
  @Input()
 | 
						|
  projection: ProjectionLike;
 | 
						|
  @Input()
 | 
						|
  tilePixelRatio: number;
 | 
						|
  @Input()
 | 
						|
  tileUrlFunction: UrlFunction;
 | 
						|
  @Input()
 | 
						|
  url: string;
 | 
						|
  @Input()
 | 
						|
  urls: string[];
 | 
						|
  @Input()
 | 
						|
  wrapX: boolean;
 | 
						|
 | 
						|
  @ContentChild(FormatComponent, { static: false })
 | 
						|
  formatComponent: FormatComponent;
 | 
						|
  @ContentChild(TileGridComponent, { static: false })
 | 
						|
  tileGridComponent: TileGridComponent;
 | 
						|
 | 
						|
  public instance: VectorTile;
 | 
						|
  format: Feature;
 | 
						|
  tileGrid: TileGrid;
 | 
						|
 | 
						|
  constructor(@Host() layer: LayerVectorTileComponent) {
 | 
						|
    super(layer);
 | 
						|
  }
 | 
						|
 | 
						|
  /* need the children to construct the OL3 object */
 | 
						|
  ngAfterContentInit() {
 | 
						|
    this.format = this.formatComponent.instance;
 | 
						|
    this.tileGrid = this.tileGridComponent.instance;
 | 
						|
    // console.log('creating ol.source.VectorTile instance with:', this);
 | 
						|
    this.instance = new VectorTile(this);
 | 
						|
    this.host.instance.setSource(this.instance);
 | 
						|
  }
 | 
						|
}
 |