From 1a3bbf26f29cb6f4555a9203233159898fd960ea Mon Sep 17 00:00:00 2001 From: Willem Dantuma Date: Wed, 19 Feb 2020 16:08:46 +0100 Subject: [PATCH] Set layerindex --- .../aol/item-layers/item-layers.component.ts | 12 ++-- .../selected-item-geotiff.component.ts | 60 +++++++++---------- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/projects/common-map/src/fm-map/components/aol/item-layers/item-layers.component.ts b/projects/common-map/src/fm-map/components/aol/item-layers/item-layers.component.ts index c03feca..2d4f9d2 100644 --- a/projects/common-map/src/fm-map/components/aol/item-layers/item-layers.component.ts +++ b/projects/common-map/src/fm-map/components/aol/item-layers/item-layers.component.ts @@ -87,15 +87,17 @@ export class ItemLayersComponent extends LayerGroupComponent implements OnChange } createLayer(itemLayer: IItemLayer): Layer { - var layer: Layer = null; + var layer: Layer = null; + var layerIndex = -1; if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.geotiff.processed') { - let source = new XYZ({ maxZoom: 19, minZoom: 1, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/${itemLayer.layerIndex}/tiles/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` }); + layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : itemLayer.item.data.layers[0].index; + let source = new XYZ({ maxZoom: 19, minZoom: 1, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/tiles/${layerIndex}/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` }); layer = new Tile({ source: source }); var data = itemLayer.item.data; var l = (data && data.layers && data.layers.length > 0) ? data.layers[0] : null; if (l && l.rendering && l.rendering.renderoutputType == "Tiles") { var rt = l.rendering as IRenderoutputTiles; - let source = new XYZ({ maxZoom: rt.maxzoom, minZoom: rt.minzoom, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/${itemLayer.layerIndex}/tiles/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` }); + let source = new XYZ({ maxZoom: rt.maxzoom, minZoom: rt.minzoom, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/tiles/${layerIndex}/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` }); layer = new Tile({ source: source }); } if (l && l.rendering && l.rendering.renderoutputType == "Image") { @@ -105,12 +107,12 @@ export class ItemLayersComponent extends LayerGroupComponent implements OnChange units: 'pixels', extent: ri.extent }); - let source = new ImageStatic({ imageExtent: ri.extent, projection: projection, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/${itemLayer.layerIndex}/mapimage?v=${itemLayer.item.updated.getTime()}` }); + let source = new ImageStatic({ imageExtent: ri.extent, projection: projection, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/mapimage/${layerIndex}?v=${itemLayer.item.updated.getTime()}` }); layer = new Image({ source: source }); } } else if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.shape.processed') { var data = itemLayer.item.data; - var layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : itemLayer.item.data.layers[0].index; + layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : itemLayer.item.data.layers[0].index; var l = itemLayer.item.data.layers[layerIndex]; if (l && l.rendering && l.rendering.renderoutputType == "VectorTiles") { var rt = itemLayer.item.data.layers[layerIndex].rendering as IRenderoutputTiles; diff --git a/projects/common-map/src/fm-map/components/selected-item-geotiff/selected-item-geotiff.component.ts b/projects/common-map/src/fm-map/components/selected-item-geotiff/selected-item-geotiff.component.ts index 81a785a..1cdc1b2 100644 --- a/projects/common-map/src/fm-map/components/selected-item-geotiff/selected-item-geotiff.component.ts +++ b/projects/common-map/src/fm-map/components/selected-item-geotiff/selected-item-geotiff.component.ts @@ -1,30 +1,30 @@ -import { Component, Input, Injectable, OnInit } from '@angular/core'; -import { Location } from '@angular/common'; -import { Feature } from 'ol'; -import { Store } from '@ngrx/store'; -import * as mapReducers from '../../reducers/map.reducer'; -import { commonReducers, ItemTypeService, IItem, Item, ItemService, FolderService, IListItem} from '@farmmaps/common'; -import { Router, ActivatedRoute, ParamMap, Event } from '@angular/router'; -import { ForItemType } from '../for-item/for-itemtype.decorator'; -import { AbstractSelectedItemComponent } from '../selected-item/selected-item.component'; -import { Observable } from 'rxjs'; - - -@ForItemType("vnd.farmmaps.itemtype.geotiff.processed") -@Injectable() -@Component({ - selector: 'fm-map-selected-item-geotiff', - templateUrl: './selected-item-geotiff.component.html', - styleUrls: ['./selected-item-geotiff.component.scss'] -}) -export class SelectedItemGeotiffComponent extends AbstractSelectedItemComponent { - - constructor(store: Store, itemTypeService: ItemTypeService, location: Location, router: Router, private itemService$: ItemService,private folderService$: FolderService) { - super(store, itemTypeService,location,router); - } - public selectedLayer: number = 0; - - onLayerChanged(layerIndex: number) { - this.selectedLayer = layerIndex; - } -} +import { Component, Injectable } from '@angular/core'; +import { Location } from '@angular/common'; +import { Store } from '@ngrx/store'; +import * as mapReducers from '../../reducers/map.reducer'; +import { commonReducers, ItemTypeService, ItemService, FolderService } from '@farmmaps/common'; +import { Router } from '@angular/router'; +import { ForItemType } from '../for-item/for-itemtype.decorator'; +import { AbstractSelectedItemComponent } from '../selected-item/selected-item.component'; +import * as mapActions from '../../actions/map.actions'; + + +@ForItemType("vnd.farmmaps.itemtype.geotiff.processed") +@Injectable() +@Component({ + selector: 'fm-map-selected-item-geotiff', + templateUrl: './selected-item-geotiff.component.html', + styleUrls: ['./selected-item-geotiff.component.scss'] +}) +export class SelectedItemGeotiffComponent extends AbstractSelectedItemComponent { + + constructor(store: Store, itemTypeService: ItemTypeService, location: Location, router: Router, private itemService$: ItemService,private folderService$: FolderService) { + super(store, itemTypeService,location,router); + } + public selectedLayer: number = 0; + + onLayerChanged(layerIndex: number) { + this.selectedLayer = layerIndex; + this.store.dispatch(new mapActions.SetLayerIndex(layerIndex)); + } +}