diff --git a/packages/component/src/control/layerSwitch.ts b/packages/component/src/control/layerSwitch.ts index 7dc7d8b006..0aad9bb074 100644 --- a/packages/component/src/control/layerSwitch.ts +++ b/packages/component/src/control/layerSwitch.ts @@ -18,8 +18,11 @@ export interface ILayerSwitchOption extends ISelectControlOption { export { LayerSwitch }; function isLayerSwitchItem(obj: any): obj is LayerSwitchItem { - return obj && obj.layer; + return Object.keys(obj ?? {}).every((key) => + ['layer', 'name', 'img'].includes(key), + ); } + export default class LayerSwitch extends SelectControl { protected get layers(): ILayer[] { const layerService = this.layerService;