FarmMapsLib/projects/ng-openlayers/src/lib/tilegrid.component.ts

44 lines
950 B
TypeScript

import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { createXYZ } from 'ol/tilegrid';
import TileGrid from 'ol/tilegrid/TileGrid';
import { Extent } from 'ol/extent';
import { Coordinate } from 'ol/coordinate';
import { Size } from 'ol/size';
@Component({
selector: 'aol-tilegrid',
template: '',
})
export class TileGridComponent implements OnInit, OnChanges {
@Input()
extent: Extent;
@Input()
maxZoom: number;
@Input()
minZoom: number;
@Input()
tileSize: number | Size;
@Input()
origin?: Coordinate;
@Input()
resolutions: number[];
instance: TileGrid;
ngOnInit() {
if (!this.resolutions) {
this.instance = createXYZ(this);
} else {
this.instance = new TileGrid(this);
}
}
ngOnChanges(changes: SimpleChanges) {
if (!this.resolutions) {
this.instance = createXYZ(this);
} else {
this.instance = new TileGrid(this);
}
}
}