diff --git a/projects/common-map/src/fm-map/actions/map.actions.ts b/projects/common-map/src/fm-map/actions/map.actions.ts index b573a25..b8ce055 100644 --- a/projects/common-map/src/fm-map/actions/map.actions.ts +++ b/projects/common-map/src/fm-map/actions/map.actions.ts @@ -207,7 +207,7 @@ export class DoQuery implements Action { export class SetStyle implements Action { readonly type = SETSTYLE; - constructor(public itemType:string,public style:Style) { } + constructor(public itemType:string,public style: Style | (Feature)) { } } export type Actions = SetMapState 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 618cc11..3175b34 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 @@ -120,7 +120,10 @@ export class ItemVectorSourceComponent extends SourceVectorComponent implements key = 'file'; } } - var styleEntry = this.stylesCache[key]; + var styleEntry = this.stylesCache[key]; + if(typeof styleEntry === 'function') { + return styleEntry(feature); + } return styleEntry; }); } diff --git a/projects/common-map/src/fm-map/models/style.cache.ts b/projects/common-map/src/fm-map/models/style.cache.ts index babd726..667760b 100644 --- a/projects/common-map/src/fm-map/models/style.cache.ts +++ b/projects/common-map/src/fm-map/models/style.cache.ts @@ -1,5 +1,5 @@ -import {Style} from 'ol'; +import {Style,Feature} from 'ol'; export interface IStyles{ - [id: string]: Style; + [id: string]: Style | (Feature); }; \ No newline at end of file