---
title: "SourceFeatureState | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Class SourceFeatureState

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Properties[](#properties)

[deletedStates](#deletedstates) [revision](#revision) [state](#state) [stateChanges](#statechanges)

### Methods[](#methods)

[coalesceChanges](#coalescechanges) [getState](#getstate) [initializeTileState](#initializetilestate) [removeFeatureState](#removefeaturestate) [updateState](#updatestate)

## Constructors[](#constructors-1)

### constructor[](#constructor)

-   new SourceFeatureState(): SourceFeatureState[](#constructorsourcefeaturestate)
    
    #### Returns SourceFeatureState
    

## Properties[](#properties-1)

### deletedStates[](#deletedstates)

deletedStates: {}

### revision[](#revision)

revision: number

### state[](#state)

state: [LayerFeatureStates](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.LayerFeatureStates/)

### stateChanges[](#statechanges)

stateChanges: [LayerFeatureStates](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.LayerFeatureStates/)

## Methods[](#methods-1)

### coalesceChanges[](#coalescechanges)

-   coalesceChanges(inViewTiles: [InViewTiles](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.InViewTiles/), painter: any): void[](#coalescechanges-1)
    
    #### Parameters
    
    -   inViewTiles: [InViewTiles](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.InViewTiles/)
    -   painter: any
    
    #### Returns void
    

### getState[](#getstate)

-   getState(sourceLayer: string, featureId: string | number): [FeatureState](https://docs.maptiler.com/sdk-js/api-reference/types/FeatureState/)[](#getstate-1)
    
    #### Parameters
    
    -   sourceLayer: string
    -   featureId: string | number
    
    #### Returns [FeatureState](https://docs.maptiler.com/sdk-js/api-reference/types/FeatureState/)
    

### initializeTileState[](#initializetilestate)

-   initializeTileState(tile: [Tile](https://docs.maptiler.com/sdk-js/api-reference/classes/Tile/), painter: any): void[](#initializetilestate-1)
    
    #### Parameters
    
    -   tile: [Tile](https://docs.maptiler.com/sdk-js/api-reference/classes/Tile/)
    -   painter: any
    
    #### Returns void
    

### removeFeatureState[](#removefeaturestate)

-   removeFeatureState(  
        sourceLayer: string,  
        featureId?: string | number,  
        key?: string,  
    ): void[](#removefeaturestate-1)
    
    #### Parameters
    
    -   sourceLayer: string
    -   `Optional`featureId: string | number
    -   `Optional`key: string
    
    #### Returns void
    

### updateState[](#updatestate)

-   updateState(  
        sourceLayer: string,  
        featureId: string | number,  
        newState: any,  
    ): void[](#updatestate-1)
    
    #### Parameters
    
    -   sourceLayer: string
    -   featureId: string | number
    -   newState: any
    
    #### Returns void
