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 8d950e0..70ebf60 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 @@ -19,6 +19,7 @@ import VectorTileLayer from 'ol/layer/VectorTile'; import {GeoJSON,MVT} from 'ol/format'; import { Geometry } from 'ol/geom'; import BaseLayer from 'ol/layer/Base'; +import Feature from 'ol/Feature'; @Component({ selector: 'fm-map-item-layers', @@ -180,9 +181,9 @@ export class ItemLayersComponent extends LayerGroupComponent implements OnChange const source = new VectorSource({ strategy: loadingstrategy.bbox, loader: function (extent: Extent, resolution: number, projection: Projection) { - const source = this as VectorSource; + const source = this as VectorSource>; __this.itemService.getItemFeatures(item.code, extent, projection.getCode(), layerIndex).subscribe(function (data) { - const features = format.readFeatures(data); + const features = format.readFeatures(data).filter(feature => feature instanceof Feature) as Feature[]; for (const f of features) { if (f.get("code")) { f.setId(f.get("code")); diff --git a/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts b/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts index ff46d46..1c4a260 100644 --- a/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts +++ b/projects/common-map/src/fm-map/components/aol/item-vector-source/item-vector-source.component.ts @@ -29,7 +29,7 @@ import { formatNumber } from '@angular/common'; ] }) export class ItemVectorSourceComponent extends SourceVectorComponent implements OnInit, OnDestroy, OnChanges { - instance: Vector; + instance: Vector>; private _format: GeoJSON; private _select: Select; private _hoverSelect: Select; diff --git a/projects/common-map/src/fm-map/components/aol/layer-vector-image/layer-vector-image.component.ts b/projects/common-map/src/fm-map/components/aol/layer-vector-image/layer-vector-image.component.ts index 4e83edd..d05467f 100644 --- a/projects/common-map/src/fm-map/components/aol/layer-vector-image/layer-vector-image.component.ts +++ b/projects/common-map/src/fm-map/components/aol/layer-vector-image/layer-vector-image.component.ts @@ -3,6 +3,7 @@ import { LayerVectorComponent, MapComponent } from 'ng-openlayers'; import RenderType from 'ol/layer/Vector'; import { Vector as VectorSource } from 'ol/source'; import { Geometry } from 'ol/geom'; +import Feature from 'ol/Feature'; @Component({ selector: 'fm-map-aol-layer-vector-image', @@ -14,7 +15,7 @@ export class LayerVectorImageComponent extends LayerVectorComponent implements O //public source: Vector; @Input() - renderMode: RenderType> | string = "image"; + renderMode: RenderType>> | string = "image"; constructor(map: MapComponent) { super(map); diff --git a/projects/common-map/src/fm-map/effects/map.effects.ts b/projects/common-map/src/fm-map/effects/map.effects.ts index b8f9681..474ecc1 100644 --- a/projects/common-map/src/fm-map/effects/map.effects.ts +++ b/projects/common-map/src/fm-map/effects/map.effects.ts @@ -133,7 +133,7 @@ export class MapEffects { f.id = f.properties["code"]; } } - return of(new mapActions.StartSearchSuccess(this._geojsonFormat.readFeatures(features), a.queryState)); + return of(new mapActions.StartSearchSuccess(this._geojsonFormat.readFeatures(features).filter(feature => feature instanceof Feature) as Feature[], a.queryState)); } ), catchError(error => of(new commonActions.Fail(error)))); @@ -218,7 +218,7 @@ export class MapEffects { if (!this.overrideSelectedItemLayer) { return this.itemService$.getFeature(action.item.code, "EPSG:3857").pipe( map((feature: any) => { - const f = this._geojsonFormat.readFeature(feature); + const f = this._geojsonFormat.readFeature(feature) as Feature; f.setId(action.item.code); return new mapActions.AddFeatureSuccess(f); }),