## Types   [Skip link to Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#types)

This page contains all types that can be provided as arguments to Map SDK functions. All types used throughout Map SDK functions link to this page, and any types that employ other types are referenced via clickable links.

| Category | Type |
| --- | --- |
| [**Analytics Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#analytics-types) |  |
|  | [`AnalyticsHandlers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#analyticseventhandlers) |
|  | [`NoPayloadEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#nopayloadevent) |
|  | [`RasterTileLoadEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertileloadevent) |
|  | [`UserEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#userevent) |
|  | [`UserEventType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#usereventtype) |
| [**Annotation Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#annotation-types) |  |
|  | [`Annotation`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#annotation) |
| [**Dataset Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#dataset-types) |  |
|  | [`AddDatasetOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#adddatasetoptions) |
|  | [`BaseDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedataset) |
|  | [`BaseDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedatasetcreationprops) |
|  | [`BaseField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basefield) |
|  | [`BasicField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basicfield) |
|  | [`BasicFieldType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basicfieldtype) |
|  | [`Field`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#field) |
|  | [`Dataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#dataset) |
|  | [`DatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#datasetcreationprops) |
|  | [`DatasetUpdateProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#datasetupdateprops) |
|  | [`LocalDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#localdataset) |
|  | [`LocalDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#localdatasetcreationprops) |
|  | [`RasterTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilecreationmetadata) |
|  | [`RasterTileDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledataset) |
|  | [`RasterTileDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledatasetcreationprops) |
|  | [`RasterTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledatasetremotecreationprops) |
|  | [`RasterTileLocalMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilelocalmetadata) |
|  | [`RasterTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilemetadata) |
|  | [`RasterTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertileremotemetadata) |
|  | [`ReplaceDatasetOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#replacedatasetoptions) |
|  | [`RGBColor`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) |
|  | [`TileDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tiledatasetcreationprops) |
|  | [`TimestampField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#timestampfield) |
|  | [`VectorTileBaseMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilebasemetadata) |
|  | [`VectorTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilecreationmetadata) |
|  | [`VectorTileDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledataset) |
|  | [`VectorTileDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledatasetcreationprops) |
|  | [`VectorTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledatasetremotecreationprops) |
|  | [`VectorTileLocalMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilelocalmetadata) |
|  | [`VectorTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilemetadata) |
|  | [`VectorTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortileremotemetadata) |
| [**Filter Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filter-types) |  |
|  | [`BaseFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basefilter) |
|  | [`Filter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filter) |
|  | [`FilterCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtercreationprops) |
|  | [`FilterEventHandlers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtereventhandlers) |
|  | [`FilterSource`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtersource) |
|  | [`FilterTimeline`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertimeline) |
|  | [`FilterTimelineUpdateProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertimelineupdateprops) |
|  | [`FilterType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertype) |
|  | [`FilterUpdateprops`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filterupdateprops) |
|  | [`FilterView`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filterview) |
|  | [`MultiSelectFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#multiselectfilter) |
|  | [`PartialFilterSource`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#partialfiltersource) |
|  | [`RangeFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rangefilter) |
|  | [`SelectFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#selectfilter) |
|  | [`TimeRangeFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#timerangefilter) |
| [**Layer Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layer-types) |  |
|  | [`Layer`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layer) |
|  | [`LayerConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) |
|  | [`LayerCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layercreationprops) |
|  | [`LayerEventHandlers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layereventhandlers) |
|  | [`LayerGroup`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layergroup) |
|  | [`LayerTimeline`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertimeline) |
|  | [`LayerTimelineUpdateProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertimelineupdateprops) |
|  | [`LayerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertype) |
|  | [`LayerUpdateProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layerupdateprops) |
|  | [`VisualChannel`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#visualchannel) |
|  | [`VisualChannels`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#visualchannels) |
| [**Map Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#map-types) |  |
|  | [`Bound`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#bound) |
|  | [`EffectType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#effecttype) |
|  | [`GeometrySelectionEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#geometryselectionevent) |
|  | [`HTMLMap`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#htmlmap) |
|  | [`MapControlVisibility`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapcontrolvisibility) |
|  | [`MapControls`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapcontrols) |
|  | [`MapCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapcreationprops) |
|  | [`MapEventHandlers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapeventhandlers) |
|  | [`MapStyle`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstyle) |
|  | [`MapStyleCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylecreationprops) |
|  | [`MapStyleLayerGroup`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylelayergroup) |
|  | [`MapStyleLayerGroupCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylelayergroupcreationprops) |
|  | [`MouseEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mouseevent) |
|  | [`OnClickHandlerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onclickhandlertype) |
|  | [`OnGeometrySelectionHandlerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onclickhandlertype) |
|  | [`OnHoverHandlerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onhoverhandlertype) |
|  | [`OnViewUpdateType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onviewupdatetype) |
|  | [`PickInfo`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#pickinfo) |
|  | [`RequestParameters`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#requestparameters) |
|  | [`SetMapConfigOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#setmapconfigoptions) |
|  | [`SetSplitModeOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#setsplitmodeoptions) |
|  | [`SetViewLimitsOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#setViewLimits) |
|  | [`SplitMode`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmode) |
|  | [`SplitModeContext`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmodecontext) |
|  | [`SplitModeDetails`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmodedetails) |
|  | [`SplitModeProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmodeprops) |
|  | [`StudioLoadingProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#studioloadingprops) |
|  | [`SyncWidgetMap`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#syncwidgetmap) |
|  | [`ThemeOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#themeoptions) |
|  | [`ThemePresets`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#themepresets) |
|  | [`ThemeUpdateProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#themeupdateprops) |
|  | [`View`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#view) |
|  | [`ViewLimits`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#viewlimits) |
| [**Tooltip Types**](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltip-types) |  |
|  | [`TooltipInteractionConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipinteractionconfig) |
|  | [`TooltipConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipconfig) |
|  | [`TooltipField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipfield) |
|  | [`TooltipInteractionResponse`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipinteractionresponse) |

* * *

### Analytics Types   [Skip link to Analytics Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#analytics-types)

#### `AnalyticsEventHandlers`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#analyticseventhandlers)

Called whenever a user-triggered event happens.

> Note: This is a on-prem feature and is not available for other versions of the Map SDK.

JavaScript

```javascript
type AnalyticsEventHandlers = {
  onUserEvent?: (event: UserEvent) => void
};
```

* * *

#### `NoPayloadEvents`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#nopayloadevents)

JavaScript

```javascript
export type NoPayloadEvent =
  | RemoveDatasetEvent
  | AddLayerEvent
  | RemoveLayerEvent
  | AddLayerGroupEvent
  | RemoveLayerGroupEvent;
```

* * *

#### `RasterTileLoadEvent`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertileloadevent)

A type returning raster tile loading status updates.

JavaScript

```javascript
  assetUrls: string[];
  tileIndex: [number, number, number];
  remainingTiles: number;
  status: 'loading' | 'loaded' | 'canceled';
  error?: Error;
```

| Argument | Type | Description |
| --- | --- | --- |
| `assetUrls` | `string[]` | An array of URLs that the tile assets are being requested from. |
| `tileIndex` | `[number, number, number]` | An array containing tile coordinates \[x, y, z\]. |
| `remainingTiles` | `number` | Total number of tiles that are being loaded. |
| `status` | `string` | The status of the raster tile loading. Either `'loading'`, `'loaded'`, `'canceled'`, or `'failed'`. |
| `error` | `Error` | If an error occurred, an error object describing the loading error. |

* * *

#### `UserEvent`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#userevent)

A collection of types of events that are reported by `onUserEvent` callback.

JavaScript

```javascript
type UserEvent = NoPayloadEvent | MapControlClickedEvent | SidePanelSectionChangedEvent;
```

#### Parameters   [Skip link to Parameters](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#parameters)

`MapControlClickedEvent` can return a payload with the control modified.

JavaScript

```javascript
type MapControlClickedEvent = EventWithPayload<
  'activate-map-control',
  | {control: 'legend' | 'chart'}
  | {control: 'toggle-3d', mode: ViewMode}
  | {control: 'split-map', mode: SplitMode}
  | {control: 'map-draw', mode: DrawMode}
>;
```

`SidePanelSectionChangedEvent` can return the side panel changed.

JavaScript

```javascript
type SidePanelSectionChangedEvent = EventWithPayload<
  'change-side-panel-section',
  {panel: SidePanelType}
>;
```

* * *

#### `UserEventType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#usereventtype)

A collection of types of events that are reported by `onUserEvent` callback.

JavaScript

```javascript
type UserEventType =
  | 'remove-dataset'
  | 'add-layer'
  | 'remove-layer'
  | 'add-layer-group'
  | 'remove-layer-group'
  | 'activate-map-control'
  | 'change-side-panel-section';
```

| Argument | Type | Description |
| --- | --- | --- |
| `'remove-dataset'` | `string` | Reported when a user removed a dataset. |
| `'add-layer'` | `string` | Reported when a user adds a layer. |
| `'remove-layer'` | `string` | Reported when a user removes a layer. |
| `'add-layer-group'` | `string` | Reported when a user adds a layer group. |
| `'activate-map-control'` | `string` | Reported when a user activates the map's controls. |
| `'change-side-panel-section'` | `string` | Reported when a user changes side panel sections. |

* * *

### Annotation Types   [Skip link to Annotation Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#annotation-types)

#### `Annotation`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#annotation)

A callout on the map, including a text label and an optional pointer to a location. See [examples in Studio product documentation](https://docs.foursquare.com/studio/docs/maps-annotations).

JavaScriptPython

```javascript
Annotation = {
  id: string;
  kind: 'POINT' | 'CIRCLE' | 'ARROW' | 'TEXT';
  isVisible: boolean;
  autoSize?: boolean;
  autoSizeY?: boolean;
  anchorPoint: AnchorPoint;
  label: string;
  editorState?: EditorState;
  mapIndex?: number;
  lineColor: string;
  lineWidth: number;
  textWidth: number;
  textHeight: number;
  textVerticalAlign?: 'top' | 'middle' | 'bottom';
  armLength?: number;
  angle?: number;
  radiusInMeters?: number;
};
```

```python
class Annotation():
    id: StrictStr
    kind: Literal["TEXT", "ARROW", "POINT", "CIRCLE"]
    is_visible: StrictBool
    auto_size: Optional[StrictBool]
    auto_size_y: Optional[StrictBool]
    anchor_point: Tuple[float, float]
    label: StrictStr
    editor_state: Optional[Any]
    map_index: Optional[int]
    line_color: StrictStr
    line_width: float
    text_width: float
    text_height: float
    text_vertical_align: Literal["top", "middle", "bottom"]
    arm_length: Optional[float]
    angle: Optional[float]
    radius_in_meters: Optional[float]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | The unique identifier of the annotation. |
| `kind` | `'POINT' | 'CIRCLE' | 'ARROW' | 'TEXT'` | The type of annotation. |
| `isVisible` | `boolean` | Whether the annotation should be visible on the map. |
| `autoSize` | `boolean | undefined` | Whether the annotation should be auto-sized horizontally to fit the text. |
| `autoSizeY` | `boolean | undefined` | Whether the annotation should be auto-sized vertically to fit the text. |
| `anchorPoint` | `AnchorPoint` (`[lon, lat]`) | The anchor point of the annotation in `[lon, lat]` format. |
| `label` | `string` | The textual description of the annotation. |
| `editorState` | [`EditorState`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#editorstate) | The state of the editor. See more information for [`EditorState`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#editorstate) |
| `mapIndex` | `number | undefined` | The index of the map this annotation is attached to. |
| `lineColor` | `string` | The color of the annotation line. |
| `lineWidth` | `number` | The width of the annotation line. |
| `textWidth` | `number` | The width of the annotation text. |
| `textHeight` | `number` | The height of the annotation text. |
| `textVerticalAlign` | `'top' | 'middle' | 'bottom' | undefined` | The vertical alignment of the annotation text. |
| `armLength` | `number` | The length of the annotation arm in pixels. |
| `angle` | `number` | The angle of the annotation in degrees. |
| `radiusInMeters` | `number` | The radius in meters (only for kind 'CIRCLE'). |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-1)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `StrictStr` | The unique identifier of the annotation. |
| `kind` | `Literal["TEXT", "ARROW", "POINT", "CIRCLE"]` | The type of annotation. |
| `is_visible` | `StrictBool` | Whether the annotation should be visible on the map. |
| `auto_size` | `Optional[StrictBool]` | Whether the annotation should be auto-sized horizontally to fit the text. |
| `auto_size_y` | `Optional[StrictBool]` | Whether the annotation should be auto-sized vertically to fit the text. |
| `anchor_point` | `Tuple[float, float]` | The anchor point of the annotation. |
| `label` | `StrictStr` | The textual description of the annotation. |
| `editor_state` | `Optional[Any]` | See more information for [`EditorState`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#editorstate) |
| `map_index` | `Optional[int]` | The index of the map this annotation is attached to. |
| `line_color` | `StrictStr` | The color of the annotation line. |
| `line_width` | `float` | The width of the annotation line. |
| `text_width` | `float` | The width of the annotation text. |
| `text_height` | `float` | The height of the annotation text. |
| `text_vertical_align` | `Literal["top", "middle", "bottom"]` | The vertical alignment of the annotation text. |
| `arm_length` | `Optional[float]` | The length of the annotation arm in pixels. |
| `angle` | `Optional[float]` | The angle of the annotation in degrees. |
| `radius_in_meters` | `Optional[float]` | The radius in meters (only for kind 'CIRCLE'). |

#### `EditorState`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#editorstate)

[Serialized content](https://lexical.dev/docs/wapi/interfaces/lexical.SerializedEditorState) of Lexical editor ( [https://lexical.dev/](https://lexical.dev/)). This object is used for formatting text within map annotations. It supports various customization options such as bold, italic, underline, color, and background color.

To see an example of the `EditorState` object working to format text, [see our example here](https://docs.foursquare.com/developer/docs/studio-map-sdk-example-annotations).

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-2)

| Parameter | Type | Description |
| --- | --- | --- |
| `root` | `object` | Root element containing the entire structure. |
| `root.children[]` | `array` | Array of child elements (e.g., paragraphs, text, links). |
| `root.children[].type` | `string` | Specifies element type (`text`, `paragraph`, `link`, `linebreak`). |
| `root.children[].version` | `number` | Indicates element version (always 1). |
| `root.children[].detail` | `number` | Additional detail for some text elements. |
| `root.children[].format` | `number` | Formatting options (`bold`, `italic`, `underline`). |
| `root.children[].mode` | `string` | Mode of the element (usually "normal"). |
| `root.children[].style` | `string` | Custom styles like `color` and `background-color`. |
| `root.children[].text` | `string` | Text content of the element. |
| `root.children[].direction` | `string` | Text direction (usually left to right, or `"ltr"`). |
| `root.children[].indent` | `number` | Indentation level (always 0). |
| `root.children[].rel` | `string` | Link relationship attribute (for link elements). |
| `root.children[].target` | `string` | Target attribute for links (for link elements). |
| `root.children[].url` | `string` | URL for links (for link elements). |
| `root.children[].children[]` | `array` | Nested array of child elements within a `paragraph` or other parent element. |
| `root.children[].children[].type` | `string` | Specifies element type within nested elements. |
| `root.children[].children[].version` | `number` | Indicates element version within nested elements. |
| `root.children[].children[].detail` | `number` | Additional detail for nested text elements. |
| `root.children[].children[].format` | `number` | Formatting options for nested elements. |
| `root.children[].children[].mode` | `string` | Mode of the element within nested elements. |
| `root.children[].children[].style` | `string` | Custom styles for nested elements. |
| `root.children[].children[].text` | `string` | Text content of nested elements. |
| `root.children[].children[].direction` | `string` | Text direction for nested elements (usually left to right, or `"ltr"`), |
| `root.children[].children[].indent` | `number` | Indentation level for nested elements (always 0). |
| `root.children[].children[].rel` | `string` | Link relationship attribute for nested link elements. |
| `root.children[].children[].target` | `string` | Target attribute for nested link elements. |
| `root.children[].children[].url` | `string` | URL for nested link elements. |

##### Example   [Skip link to Example](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#example)

JavaScriptPython

```javascript
export const editorContent = {
  root: {
    children: [\
      {\
        children: [\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "",\
            text: "This is ",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 1,\
            mode: "normal",\
            style: "",\
            text: "bold, ",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 2,\
            mode: "normal",\
            style: "",\
            text: "italic",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 1,\
            mode: "normal",\
            style: "",\
            text: ", ",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 8,\
            mode: "normal",\
            style: "",\
            text: "underline",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "",\
            text: ".",\
            type: "text",\
            version: 1,\
          },\
          {\
            type: "linebreak",\
            version: 1,\
          },\
          {\
            children: [\
              {\
                detail: 0,\
                format: 0,\
                mode: "normal",\
                style: "",\
                text: "Link",\
                type: "text",\
                version: 1,\
              },\
            ],\
            direction: "ltr",\
            format: "",\
            indent: 0,\
            type: "link",\
            version: 1,\
            rel: "noopener noreferrer",\
            target: "_blank",\
            url: "https://studio.foursquare.com",\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "",\
            text: ", ",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "color: #C90000;",\
            text: "red text",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "",\
            text: ", ",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "background-color: #52A353;",\
            text: "green bg",\
            type: "text",\
            version: 1,\
          },\
          {\
            detail: 0,\
            format: 0,\
            mode: "normal",\
            style: "",\
            text: ".",\
            type: "text",\
            version: 1,\
          },\
        ],\
        direction: "ltr",\
        format: "",\
        indent: 0,\
        type: "paragraph",\
        version: 1,\
      },\
      {\
        children: [\
          {\
            detail: 0,\
            format: 11,\
            mode: "normal",\
            style: "color: #C90000;background-color: #52A353;",\
            text: "All styles",\
            type: "text",\
            version: 1,\
          },\
        ],\
        direction: "ltr",\
        format: "",\
        indent: 0,\
        type: "paragraph",\
        version: 1,\
      },\
    ],
    direction: "ltr",
    format: "",
    indent: 0,
    type: "root",
    version: 1,
  },
};
```

```python
editor_content = {
    "root": {
        "children": [\
            {\
                "children": [\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "",\
                        "text": "This is ",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 1,\
                        "mode": "normal",\
                        "style": "",\
                        "text": "bold, ",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 2,\
                        "mode": "normal",\
                        "style": "",\
                        "text": "italic",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 1,\
                        "mode": "normal",\
                        "style": "",\
                        "text": ", ",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 8,\
                        "mode": "normal",\
                        "style": "",\
                        "text": "underline",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "",\
                        "text": ".",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "type": "linebreak",\
                        "version": 1\
                    },\
                    {\
                        "children": [\
                            {\
                                "detail": 0,\
                                "format": 0,\
                                "mode": "normal",\
                                "style": "",\
                                "text": "Link",\
                                "type": "text",\
                                "version": 1\
                            }\
                        ],\
                        "direction": "ltr",\
                        "format": "",\
                        "indent": 0,\
                        "type": "link",\
                        "version": 1,\
                        "rel": "noopener noreferrer",\
                        "target": "_blank",\
                        "url": "https://studio.foursquare.com"\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "",\
                        "text": ", ",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "color: #C90000;",\
                        "text": "red text",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "",\
                        "text": ", ",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "background-color: #52A353;",\
                        "text": "green bg",\
                        "type": "text",\
                        "version": 1\
                    },\
                    {\
                        "detail": 0,\
                        "format": 0,\
                        "mode": "normal",\
                        "style": "",\
                        "text": ".",\
                        "type": "text",\
                        "version": 1\
                    }\
                ],\
                "direction": "ltr",\
                "format": "",\
                "indent": 0,\
                "type": "paragraph",\
                "version": 1\
            },\
            {\
                "children": [\
                    {\
                        "detail": 0,\
                        "format": 11,\
                        "mode": "normal",\
                        "style": "color: #C90000;background-color: #52A353;",\
                        "text": "All styles",\
                        "type": "text",\
                        "version": 1\
                    }\
                ],\
                "direction": "ltr",\
                "format": "",\
                "indent": 0,\
                "type": "paragraph",\
                "version": 1\
            }\
        ],
        "direction": "ltr",
        "format": "",
        "indent": 0,
        "type": "root",
        "version": 1
    }
}
```

* * *

### Dataset Types   [Skip link to Dataset Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#dataset-types)

#### `AddDatasetOptions`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#adddatasetoptions)

_Javascript-exclusive type._

Options applicable when adding a new dataset.

JavaScript

```javascript
type AddDatasetOptions = {
  autoCreateLayers?: boolean,
  centerMap?: boolean
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-3)

| Argument | Type | Description |
| --- | --- | --- |
| `autoCreateLayers` | `boolean` | Whether to attempt and create new layer(s) when adding a dataset. Defaults to `true`. |
| `centerMap` | `boolean` | Whether to center the map to fit the new layer bounds. Defaults to `true`. |

* * *

#### `BaseDataset`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basedataset)

Properties common to both tabular and tiled datasets.

JavaScriptPython

```javascript
type BaseDataset = {
  id: string,
  label: string,
  color: RGBColor,
  fields: Field[]
};
```

```python
class BaseDataset():
  id: str
  type: string
  label: str
  color: RGBColor
  fields: List[Field]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-1)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-4)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the dataset. |
| `label` | `string` | User-facing dataset label. |
| `color` | [`RGBColor`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Color label of the dataset. |
| `fields` | [`Field[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#field) | Schema describing the fields of the dataset. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-1)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-5)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the dataset. |
| `type` | `string` | Type of dataset. Can be `"local"`, `"vector-tile"`, or`"raster-tile"` |
| `label` | `string` | User-facing dataset label. |
| `color` | [`RGBColor`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Color label of the dataset. |
| `fields` | `List[` [`Field`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#field)`]` | Schema describing the fields of the dataset. |

* * *

#### `BaseDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basedatasetcreationprops)

Data used to create a dataset, in CSV, JSON, GeoJSON format.

JavaScriptPython

```javascript
type BaseDatasetCreationProps = Partial<Omit<BaseDataset, 'fields'>> & {
  data: string | object | unknown[][]
};
```

```python
class DatasetCreationProps():
  id: Optional[str]
  label: Optional[str]
  color: Optional[RGBColor]
  data: Union[str, dict, List[List[Any]]]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-2)

| Parent | Description |
| --- | --- |
| [`BaseDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedataset) | Properties common to both tabular and tiled datasets. |

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-6)

| Argument | Type | Description |
| --- | --- | --- |
| `data` | `string` \| `object` \| `unknown[][]` | Data used to create a dataset, in CSV, JSON, GeoJSON format. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-2)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-7)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier for the dataset. |
| `label` | `string` | Displayable dataset label. |
| `color` | [`RGBColor`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Color label of the dataset. |
| `data` | `Union[str, dict, List[List[Any]]]` | Data used to create a dataset, in CSV, JSON, GeoJSON format. |

* * *

#### `BaseField`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basefield)

The field's unique identifier and user-facing label.

JavaScriptPython

```javascript
type BaseField = {
  name: string,
  label: string
};
```

```python
class BaseField():
    name: str
    label: str
    type: FieldType
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-3)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-8)

| Argument | Type | Description |
| --- | --- | --- |
| `name` | `string` | A unique identifier for the field. |
| `label` | `string` | A user-facing field label. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-3)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-9)

* * *

#### `BasicField`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basicfield)

Contains semantics around a single field in a dataset table.

JavaScriptPython

```javascript
type BasicField = BaseField & {
  type:
    | 'boolean'
    | 'date'
    | 'geojson'
    | 'integer'
    | 'real'
    | 'string'
    | 'array'
    | 'object'
    | 'point'
    | 'h3'
};
```

```python
class BasicField(BaseField):
  type: BasicFieldType
```

| Parent | Description |
| --- | --- |
| [`BaseField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basefield) | The field's unique identifier and user-facing label. |

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-4)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-10)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Type of the field. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-4)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-11)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | [`BasicFieldType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basicfieldtype) | Type of the field. |

* * *

#### `BasicFieldType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basicfieldtype)

_Python exclsuive type._

Available field types.

Python

```python
class BasicFieldType(FieldType):
  BOOLEAN = "boolean"
  DATE = "date"
  GEOJSON = "geojson"
  INTEGER = "integer"
  REAL = "real"
  STRING = "string"
  ARRAY = "array"
  OBJECT = "object"
  POINT = "point"
  H3 = "h3"
```

* * *

#### `Dataset`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#dataset)

Dataset record.

JavaScriptPython

```javascript
type Dataset = LocalDataset | VectorTileDataset | RasterTileDataset;
```

```python
Dataset = Union[LocalDataset, VectorTileDataset, RasterTileDataset]
```

| Member | Description |
| --- | --- |
| [`LocalDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#localdataset) | Dataset record representing a local dataset, with data provided by the caller. |
| [`VectorTileDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledataset) | Dataset record representing a vector tileset. |
| [`RasterTileDataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledataset) | Raster tileset metadata. |

* * *

#### `DatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#datasetcreationprops)

A set of properties used to synchronously add a dataset to the map.

JavaScriptPython

```javascript
type DatasetCreationProps =
  | LocalDatasetCreationProps
  | VectorTileDatasetCreationProps
  | RasterTileDatasetCreationProps;
```

```python
class DatasetCreationProps() = Union[\
    LocalDatasetCreationProps,\
    VectorTileDatasetCreationProps,\
    RasterTileDatasetCreationProps\
  ]
```

| Member | Description |
| --- | --- |
| [`LocalDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#localdatasetcreationprops) | Dataset record representing a local dataset, with data provided by the caller. |
| [`VectorTileDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledatasetcreationprops) | Dataset record representing a vector tileset. |
| [`RasterTileDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledatasetcreationprops) | Raster tileset metadata. |

* * *

#### `DatasetType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#datasettype)

_Python-exclusive type_

Types of currently support datasets.

Python

```python
class DatasetType(str, Enum):
    LOCAL = "local"
    VECTOR_TILE = "vector-tile"
    RASTER_TILE = "raster-tile
```

* * *

#### `DatasetUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#datasetupdateprops)

A set of properties used to update a dataset.

JavaScriptPython

```javascript
type DatasetUpdateProps = Partial<Pick<Dataset, 'label' | 'color'>>;
```

```python
class _DatasetUpdateProps():
  label: Optional[str]
  color: Optional[RGBColor]
  fields: Optional[List[Field]]
```

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-5)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-12)

| Argument | Type | Description |
| --- | --- | --- |
| `label` | `string` | Displayable dataset label. |
| `color` | [`RGBColor`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Color label of the dataset. |
| `fields` | `Optional[List[` [`Field`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#field)`]]` | Schema describing the fields of the dataset. |

* * *

#### `DatasetWithData`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#datasetwithdata)

Type encapsulating a dataset record along with its data.

JavaScriptPython

```javascript
type DatasetWithData = Dataset & {
  data: unknown[][]
};
```

```python
class DatasetWithData(LocalDataset):
  data: List[List[Any]]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-5)

| Parent | Description |
| --- | --- |
| [`Dataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#dataset) | Dataset record. |

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-13)

| Argument | Type | Description |
| --- | --- | --- |
| `Dataset` | [`Dataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#dataset) | Type encapsulating dataset properties. |
| `data` | `unknown[][]` | Tabular data backing the dataset, where the order of fields matches the order in `Dataset.fields` |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-6)

| Parent | Description |
| --- | --- |
| [`Dataset`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedataset) | Dataset record representing a local dataset, with data provided by the caller. |

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-14)

| Argument | Type | Description |
| --- | --- | --- |
| `data` | `List[List[any]]` | Tabular data backing the dataset, where the order of fields matches the order in `Dataset.fields` |

* * *

#### `DrawMode`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#drawmode)

Supported map draw modes.

JavaScript

```javascript
type DrawMode = 'select' | 'polygon' | 'rectangle';
```

* * *

#### `Field`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#field)

A unison of available field types.

JavaScriptPython

```javascript
type Field = BasicField | TimestampField;
```

```python
Field = Union[BasicField, TimestampField]
```

| Member | Description |
| --- | --- |
| [`BasicField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basicfield) | Contains semantics around a single field in a dataset table. |
| [`TimestampField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#timestampfield) | Contains semantics around a single timestamp field in a dataset table. |

* * *

#### `LocalDataset`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#localdataset)

Dataset record representing a local dataset, with data provided by the caller.

JavaScriptPython

```javascript
type LocalDataset = BaseDataset & {
  type: 'local'
};
```

```python
class LocalDataset(BaseDataset):
    type = DatasetType.LOCAL;
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-15)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `"local"`. |

* * *

#### `LocalDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#localdatasetcreationprops)

Dataset record representing a local dataset, with data provided by the caller.

JavaScript

```javascript
LocalDatasetCreationProps = BaseDatasetCreationProps & {
  type?: 'local';
  data: string | object | unknown[][];
};
```

| Parent | Description |
| --- | --- |
| [`BaseDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedatasetcreationprops) | Data used to create a dataset, in CSV, JSON, GeoJSON format. |

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-16)

| Argument | Type | Description |
| --- | --- | --- |
| `BaseDatasetCreationProps` | [`BaseDatasetCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basedatasetcreationprops) | Data used to create a dataset, in CSV, JSON, GeoJSON format. |
| `type` | `string` | Must be `"local"`. |
| `data` | `string`, `object`, `unknown[][]` | Data used to create a dataset, in CSV, JSON, GeoJSON format. |

* * *

#### `RasterTileCreationMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertilecreationmetadata)

Raster tileset metadata in [STAC Item format](https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md). STAC version must be >= 1.0.0, and the EO and Raster STAC extensions are required. This metadata shape can be passed to the map to synchronously add a raster tileset.

JavaScript

```javascript
type RasterTileCreationMetadata = {
  metadataUrl?: string,
  type: 'Feature',
  stac_version: string,
  extensions: string[],
  assets: Record<string, any>
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-17)

| Argument | Type | Description |
| --- | --- | --- |
| `metadataUrl` | `string` | URL for tileset metadata. |
| `type` | `string` | Type of the raster tileset. |
| `stac_version` | `string` | STAC version for tileset. |
| `extensions` | `string[]` | An array of extensions the Item implements. |
| `assets` | `Record<string, any>;` | Dictionary of asset objects that can be downloaded, each with a unique key. |

* * *

#### `RasterTileDataset`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertiledataset)

Raster tileset metadata.

JavaScriptPython

```javascript
type RasterTileDataset = BaseDataset & {
  type: 'raster-tile',
  metadata: RasterTileMetadata
};
```

```python
class RasterTileDataset(BaseDataset):
  type = DatasetType.RASTER_TILE
  metadata: RasterTileMetadata
```

#### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-6)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-18)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `"raster-tile"`. |
| `metadata` | [`RasterTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilemetadata) | Raster tileset metadata. |

#### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-7)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-19)

* * *

#### `RasterTileDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertiledatasetcreationprops)

Dataset record representing a raster tileset.

JavaScript

```javascript
type RasterTileDatasetCreationProps = BaseDatasetCreationProps & {
  type: 'raster-tile',
  metadata: RasterTileCreationMetadata
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-20)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `"raster-tile"`. |
| `metadata` | [`RasterTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilecreationmetadata) | Raster tileset metadata in STAC Item format. |

* * *

#### `RasterTileDatasetRemoteCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertiledatasetremotecreationprops)

Dataset record representing a raster tileset.

JavaScript

```javascript
type RasterTileDatasetRemoteCreationProps = BaseDatasetCreationProps & {
  type: 'raster-tile',
  metadata: RasterTileRemoteMetadata
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-21)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `"raster-tile"`. |
| `metadata` | [`RasterTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilemetadata) | The metadata of the raster tile. |

* * *

#### `RasterTileLocalMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertilelocalmetadata)

_Python-exclusive type_

Python

```python
class RasterTileLocalMetadata(RasterTileBaseMetadata):
    metadata_url: Optional[string]
    type: str = "Feature"
    stac_version: str = PydanticField(..., alias="stac_version")
    stac_extensions: List[str] = PydanticField(..., alias="stac_extensions")
    assets: Dict[str, Any]
```

| Parent | Description |
| --- | --- |
| [`RasterTileBaseMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilemetadata) | Raster tileset metadata. |

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-22)

| Argument | Type | Description |
| --- | --- | --- |
| `metadata_url` | `string` | URL for tileset metadata. |
| `type` | `string` | Type of the raster tileset. |
| `stac_version` | `string` | STAC version for tilesets. |
| `stac_extensions` | `List[str]` | A list of extensions the Item implements. |
| `assets` | `Dict[str, Any]` | Dictionary of asset objects that can be downloaded, each with a unique key. |

* * *

#### `RasterTileMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertilemetadata)

Raster tileset metadata.

JavaScriptPython

```javascript
type RasterTileMetadata = RasterTileCreationMetadata | RasterTileRemoteMetadata;
```

```python
RasterTileMetadata = Union[RasterTileLocalMetadata, RasterTileRemoteMetadata]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-7)

| Member | Description |
| --- | --- |
| [`RasterTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilecreationmetadata) | Raster tileset metadata in [STAC Item format](https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md). STAC version must be >= 1.0.0, and the EO and Raster STAC extensions are required. This metadata shape can be passed to the map to synchronously add a raster tileset. |
| [`RasterTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertileremotemetadata) | Raster tileset metadata with a remote metadata URL. This metadata can be passed to the map to asynchronously load a raster tileset. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-8)

| Member | Description |
| --- | --- |
| [`RasterTileLocalMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertilelocalmetadata) | Raster tileset metadata in [STAC Item format](https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md). STAC version must be >= 1.0.0, and the EO and Raster STAC extensions are required. This metadata shape can be passed to the map to synchronously add a raster tileset. |
| [`RasterTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertileremotemetadata) | Raster tileset metadata with a remote metadata URL. This metadata can be passed to the map to asynchronously load a raster tileset. |

* * *

#### `RasterTileRemoteMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rastertileremotemetadata)

Raster tileset metadata with a remote metadata URL. This metadata can be passed to the map to asynchronously load a raster tileset.

JavaScriptPython

```javascript
type RasterTileRemoteMetadata = {
  metadataUrl: string
};
```

```python
class RasterTileRemoteMetadata(RasterTileBaseMetadata):
  metadata_url: string
```

#### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-8)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-23)

| Argument | Type | Description |
| --- | --- | --- |
| `metadataUrl` | `string` | The metadata of the raster tile. |

#### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-9)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-24)

| Argument | Type | Description |
| --- | --- | --- |
| `metadata_url` | `string` | The metadata of the raster tile. |

* * *

#### `DatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#datasetcreationprops-1)

Dataset record representing a local dataset, with data provided by the caller.

JavaScript

```javascript
LocalDatasetCreationProps = BaseDatasetCreationProps & {
  type?: 'local';
  data: string | object | unknown[][];
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-25)

| Argument | Type | Description |  |  |
| --- | --- | --- | --- | --- |
| `type` | `string` | Must be `"local"`. |  |  |
| `data` | \`string | object | unknown\[\]\[\]\` | Data used to create a dataset, in CSV, JSON, GeoJSON format. |

#### `RGBColor`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rgbcolor)

Red, green, and blue channels of a color in `[0-255]` range.

JavaScriptPython

```javascript
type RGBColor = [number, number, number];
```

```python
RGBColor = Tuple[Number, Number, Number]
```

* * *

#### `ReplaceDatasetOptions`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#replacedatasetoptions)

_Javascript-exclusive type._

Options applicable when adding a new dataset.

JavaScript

```javascript
type ReplaceDatasetOptions = {
  force?: boolean,
  strict?: boolean
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-26)

| Argument | Type | Description |
| --- | --- | --- |
| `force` | `boolean` | Whether to force a dataset replace, even if the compatibility check fails. Default: `false`. |
| `strict` | `boolean` | Whether to ensure strict equality of types for each field being replaced. Default: `false`. |

* * *

#### `TileDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tiledatasetcreationprops)

A set of properties used to asynchronously add a dataset to the map based on remote files.

JavaScript

```javascript
type TileDatasetCreationProps =
  | VectorTileDatasetRemoteCreationProps
  | RasterTileDatasetRemoteCreationProps;
```

| Member | Description |
| --- | --- |
| [`VectorTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledatasetremotecreationprops) | A set of properties used to create a vector tile dataset with provided metadata. |
| [`RasterTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledatasetremotecreationprops) | Dataset record representing a raster tileset. |

* * *

#### `TimestampField`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#timestampfield)

Contains semantics around a single timestamp field in a dataset table.

JavaScriptPython

```javascript
type TimestampField = BaseField & {
  type: 'timestamp',
  timeFormat: string
};
```

```python
class TimestampField(BaseField):
  type: TimestampFieldType = TimestampFieldType.TIMESTAMP
  time_format: str
```

| Parent | Description |
| --- | --- |
| [`BaseField`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basefield) | The fields's unique identifier and user-facing label. |

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-9)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-27)

| Argument | Type | Description |
| --- | --- | --- |
| `timeformat` | `string` | moment.js time format of the field's temporal data. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-10)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-28)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `TimestampFieldType.TIMESTAMP` | Timestamp type identifier. |
| `timeformat` | `string` | moment.js time format of the field's temporal data. |

* * *

#### `VectorTileBaseMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortilebasemetadata)

Vector tileset base metadata.

JavaScriptPython

```javascript
type VectorTileBaseMetadata = {
  dataUrl: string
};
```

```python
class VectorTileBaseMetadata():
    data_url: string
```

#### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-10)

| Parent | Description |
| --- | --- |
| [`VectorTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilemetadata) | Vector tileset metadata with a remote metadata URL. |

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-29)

| Argument | Type | Description |
| --- | --- | --- |
| `dataUrl` | `string` | URL template for tiles, with {x}/{y}/{z} placeholders |

#### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-11)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-30)

| Argument | Type | Description |
| --- | --- | --- |
| `data_url` | `string` | URL template for tiles, with {x}/{y}/{z} placeholders |

* * *

#### `VectorTileCreationMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortilecreationmetadata)

Vector tileset metadata, following the metadata format generated by [Tippecanoe](https://github.com/mapbox/tippecanoe). This metadata shape can be passed to the map to synchronously add a vector tileset.

JavaScript

```javascript
type VectorTileCreationMetadata = VectorTileBaseMetadata & {
  metadataUrl?: string,
  bounds?: string | number[],
  center?: string | number[],
  maxzoom?: number,
  minzoom?: number,
  json: string | VectorTileEmbeddedMetadata
};
```

| Parent | Description |
| --- | --- |
| [`VectorTileBaseMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilebasemetadata) | Vector tileset base metadata. |

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-31)

| Argument | Type | Description |
| --- | --- | --- |
| `VectorTileBaseMetadata` | [`VectorTileBaseMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilebasemetadata) | Vector tileset base metadata. |
| `metadataUrl` | `string` | URL for tileset metadata. |
| `bounds` | `string`, `number[]` | Tileset bounds, as an array or comma-delimited string in format "w,s,e,n". |
| `center` | `string`, `number[]` | Tileset center, as an array or comma-delimited string in format "lng,lat". |
| `maxzoom` | `number` | Maximum zoom supported by the tileset. |
| `minzoom` | `number` | Minimum zoom supported by the tileset. |
| `json` | `string` or [`VectorTileEmbeddedMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortileembeddedmetadata) | Metadata for the tileset, as a JSON string or object. |

* * *

#### `VectorTileDataset`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortiledataset)

Dataset record representing a vector tileset.

JavaScriptPython

```javascript
type VectorTileDataset = BaseDataset & {
  type: 'vector-tile',
  metadata: VectorTileMetadata
};
```

```python
class VectorTileDataset(BaseDataset):
    type = DatasetType.VECTOR_TILE
    metadata: VectorTileMetadata
```

#### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-11)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-32)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `vector-tile`. |
| `metadata` | [`VectorTileMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilemetadata) | Vector tileset metadata with a remote metadata URL. |

#### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-12)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-33)

* * *

#### `VectorTileDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortiledatasetcreationprops)

A set of properties used to create a vector tile dataset with provided metadata.

JavaScript

```javascript
type VectorTileDatasetCreationProps = BaseDatasetCreationProps & {
  type: 'vector-tile',
  metadata: VectorTileCreationMetadata
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-34)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `vector-tile`. |
| `metadata` | [`VectorTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilecreationmetadata) | Vector tileset metadata, following the metadata format generated by [Tippecanoe](https://github.com/mapbox/tippecanoe). |

* * *

#### `VectorTileDatasetRemoteCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortiledatasetremotecreationprops)

A set of properties used to create a vector tile dataset with provided metadata.

JavaScript

```javascript
type VectorTileDatasetRemoteCreationProps = BaseDatasetCreationProps & {
  type: 'vector-tile',
  metadata: VectorTileRemoteMetadata
};
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-35)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | `string` | Must be `vector-tile`. |
| `metadata` | [`VectorTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortileremotemetadata) | Vector tileset metadata with a remote metadata URL. |

* * *

#### `VectorTileLocalMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortilelocalmetadata)

_Python-exclusive type_

Vector tileset metadata, following the metadata format generated by Tippecanoe. This metadata shape can be passed to the map to synchronously add a vector tileset. See [https://github.com/mapbox/tippecanoe](https://github.com/mapbox/tippecanoe)

Python

```python
class VectorTileLocalMetadata(VectorTileBaseMetadata):
  metadata_url: Optional[str]
  bounds: Optional[Union[str, List[Number]]]
  center: Optional[Union[str, List[Number]]]
  maxzoom: Optional[Number]
  minzoom: Optional[Number]
```

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-36)

| Argument | Type | Description |
| --- | --- | --- |
| `metadata_url` | `string` | URL for tileset metadata. |
| `bounds` | `Union[str, List[Number]]` | Tileset bounds, as an array or comma-delimited string in format "w,s,e,n". |
| `center` | `Union[str, List[Number]]` | Tileset center, as an array or comma-delimited string in format "lng,lat". |
| `maxZoom` | `Number` | Maximum zoom supported by the tileset. |
| `minzoom` | `Number` | Minimum zoom supported by the tileset. |

* * *

#### `VectorTileMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortilemetadata)

Vector tileset metadata.

JavaScriptPython

```javascript
type VectorTileMetadata = VectorTileCreationMetadata | VectorTileRemoteMetadata;
```

```python
VectorTileMetadata = Union[VectorTileLocalMetadata, VectorTileRemoteMetadata]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-12)

| Member | Description |
| --- | --- |
| [`VectorTileCreationMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilecreationmetadata) | Vector tileset metadata, following the metadata format generated by Tippecanoe. This metadata shape can be passed to the map to synchronously add a vector tileset. |
| [`VectorTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortileremotemetadata) | Vector tileset metadata. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-13)

| Member | Description |
| --- | --- |
| [`VectorTileLocalMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilelocalmetadata) | Vector tileset metadata, following the metadata format generated by Tippecanoe. This metadata shape can be passed to the map to synchronously add a vector tileset. See [https://github.com/mapbox/tippecanoe](https://github.com/mapbox/tippecanoe) |
| [`VectorTileRemoteMetadata`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortilebasemetadata) | Vector tileset metadata. |

* * *

#### `VectorTileRemoteMetadata`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#vectortileremotemetadata)

Vector tileset metadata.

JavaScriptPython

```javascript
type VectorTileRemoteMetadata = VectorTileBaseMetadata & {
  metadataUrl: string
};
```

```python
class VectorTileRemoteMetadata(VectorTileBaseMetadata):
    metadata_url: string
```

#### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-13)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-37)

| Argument | Type | Description |
| --- | --- | --- |
| `metadataUrl` | `string` | URL for tileset metadata. |

#### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-14)

##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-38)

| Argument | Type | Description |
| --- | --- | --- |
| `metadata_url` | `string` | URL for tileset metadata. |

* * *

### Filter Types   [Skip link to Filter Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filter-types)

#### `BaseFilter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#basefilter)

Type encapsulating common filter properties.

JavaScriptPython

```javascript
type BaseFilter<Type extends FilterType, Value> = {
  id: string;
  type: Type;
  sources: FilterSource[];
  value: Value;
};
```

```python
class BaseFilter():
  id: Optional[str]
  type: FilterType
  sources: List[FilterSource]
  value: Any
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-14)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-39)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the filter. |
| `type` | [`FilterType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertype) | Type of the filter. |
| `sources` | [`FilterSource[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtersource) | Data source(s) to apply the filter to. Note that only TimeRangeFilter currently supports multiple sources. The first given source is used for all other filters. |
| `value` | [`Value`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#value) | Value to base the filters on. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-15)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-40)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the filter. |
| `type` | [`FilterType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#type) | Type of the filter. |
| `sources` | `List[` [`FilterSource[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtersource)`]` | Data source(s) to apply the filter to. Note that only TimeRangeFilter currently supports multiple sources. The first given source is used for all other filters. |
| `value` | Any | Value to base the filters on. |

* * *

#### `Filter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filter)

Union of available filter types.

JavaScriptPython

```javascript
type Filter = RangeFilter | SelectFilter | TimeRangeFilter | MultiSelectFilter;
```

```python
Filter = Union[\
  RangeFilter,\
  SelectFilter,\
  TimeRangeFilter,\
  MultiSelectFilter,\
]
```

| Member | Description |
| --- | --- |
| [`RangeFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rangefilter) | Filter type that filters a range of values. |
| [`SelectFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#selectfilter) | Filter type that filters based on a boolean value. |
| [`TimeRangeFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#timerangefilter) | Filter type that filters data within a range of time. |
| [`MultiSelectFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#multiselectfilter) | Filter type that filters based on multiple string values. |

* * *

#### `FilterCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtercreationprops)

A set of properties used to create a filter. If source `dataId` is not provided, the filter will be applied to the first dataset with a given field name.

JavaScriptPython

```javascript
type FilterCreationProps = Optional<
  Omit<Filter, 'sources'> & {sources: PartialFilterSource[]},
  'id'
>;`
```

```python
FilterCreationProps = _PartialFilter
```

| Parent | Description |
| --- | --- |
| [`Filter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filter) | Union of available filter types. |

* * *

#### `FilterEventHandlers`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtereventhandlers)

A set of event handlers that are called on appropriate filter events.

JavaScriptPython

```javascript
type FilterEventHandlers = {
  onFilterUpdate?: (filter: Filter) => void
};
```

```python
class FilterEventHandlers():
    on_filter_update: Optional[Callable[[Filter], None]]
```

* * *

#### `FilterSource`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtersource)

Source that the filter is applied to.

JavaScriptPython

```javascript
type FilterSource = {
  dataId: string,
  fieldName: string
};
```

```python
class FilterSource():
  data_id: str
  field_name: str
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-15)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-41)

| Argument | Type | Description |
| --- | --- | --- |
| `dataId` | `string` | Identifier of the dataset that the filter applies to. |
| `fieldName` | `string` | Field to filter by. The field identifier defaults to the field name and can be retrieved as part of the dataset record. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-16)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-42)

| Argument | Type | Description |
| --- | --- | --- |
| `data_id` | `string` | Identifier of the dataset that the filter applies to. |
| `field_name` | `string` | Field to filter by. The field identifier defaults to the field name and can be retrieved as part of the dataset record. |

* * *

#### `FilterTimeline`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtertimeline)

Time range filter properties that encapsulate timeline interaction.

JavaScriptPython

```javascript
type FilterTimeline = {
  view: 'side' | 'enlarged' | 'minified',
  timeFormat: string,
  timezone: string | null,
  isAnimating: boolean,
  animationSpeed: number,
  step: number
};
```

```python
class FilterTimeline():
  view: FilterView
  time_format: str
  timezone: Optional[str]
  is_animating: bool
  animation_speed: Number
  step: Number
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-16)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-43)

| Argument | Type | Description |
| --- | --- | --- |
| `view` | `string` | Current timeline presentation. |
| `timeFormat` | `string` | Time format that the timeline is using in [day.js supported format](https://day.js.org/docs/en/display/format). |
| `timezone` | `string` | Timezone that the timeline is using in [tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |
| `isAnimating` | `boolean` | Flag indicating whether the timeline is animating or not. |
| `animationSpeed` | `number` | Speed at which timeline is animating. |
| `step` | `number` | Minimum animation step size in milliseconds. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-17)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-44)

| Argument | Type | Description |
| --- | --- | --- |
| `view` | [`FilterView`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filterview) | Current timeline presentation. |
| `time_format` | `string` | Time format that the timeline is using in [day.js supported format](https://day.js.org/docs/en/display/format). |
| `timezone` | `string` | Timezone that the timeline is using in [tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |
| `is_animating` | `boolean` | Flag indicating whether the timeline is animating or not. |
| `animation_speed` | `number` | Speed at which timeline is animating. |
| `step` | `number` | Minimum animation step size in milliseconds. |

* * *

#### `FilterTimelineUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtertimelineupdateprops)

A set of properties that can be updated on a timeline.

JavaScriptPython

```javascript
type FilterTimelineUpdateProps = Partial<Omit<FilterTimeline, 'step'>>;
```

```python
class FilterTimelineUpdateProps():
    view: Optional[FilterView]
    time_format: Optional[str]
    timezone: Optional[str]
    is_animating: Optional[bool]
    animation_speed: Optional[Number]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-17)

| Parent | Type | Description |
| --- | --- | --- |
| `FilterTimeline` | [`FilterTimeline`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertimeline) | A partial `FilterTimeline` object. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-18)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-45)

* * *

#### `FilterType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filtertype)

Types of currently supported filters.

JavaScriptPython

```javascript
type FilterType = 'range' | 'select' | 'time-range' | 'multi-select';
```

```python
class FilterType(str, Enum):
    RANGE = "range"
    SELECT = "select"
    TIME_RANGE = "time-range"
    MULTI_SELECT = "multi-select"`
```

* * *

#### `FilterUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filterupdateprops)

A set of properties used to update a filter.

JavaScriptPython

```javascript
type FilterUpdateProps = Partial<Pick<Filter, 'value'> & {sources: PartialFilterSource[]}>;
```

```python
FilterUpdateProps = _PartialFilter
```

* * *

#### `FilterView`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#filterview)

_Python-exclusive type._

A union of filter views.

Python

```python
Literal["side", "enlarged", "minified"]
```

* * *

#### `MultiSelectFilter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#multiselectfilter)

Filter type that filters based on a multiple string value.

JavaScriptPython

```javascript
type MultiSelectFilter = BaseFilter<'multi-select', string[]>;
```

```python
class MultiSelectFilter(BaseFilter):
    type = FilterType.MULTI_SELECT
    value: List[str]
```

| Parent | Description |
| --- | --- |
| [`BaseFilter`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#basefilter) | Type encapsulating common filter properties. |

* * *

#### `PartialFilterSource`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#partialfiltersource)

Partially defined filter source where the dataId can be left out.

JavaScriptPython

```javascript
type PartialFilterSource = Optional<FilterSource, 'dataId'>;
```

```python
PartialFilter = Union[\
  PartialRangeFilter,\
  PartialSelectFilter,\
  PartialTimeRangeFilter,\
  PartialMultiSelectFilter,\
]
```

| Parent | Description |
| --- | --- |
| [`FilterSource`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtersource) | Source that the filter is applied to. |

* * *

#### `RangeFilter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#rangefilter)

Filter type that filters a range of values.

JavaScriptPython

```javascript
type RangeFilter = BaseFilter<'range', Range>;
```

```python
class RangeFilter(BaseFilter):
    type = FilterType.RANGE
    value: Range
```

* * *

#### `SelectFilter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#selectfilter)

Filter type that filters based on a boolean value.

JavaScriptPython

```javascript
type SelectFilter = BaseFilter<'select', boolean>;
```

```python
class SelectFilter(BaseFilter):
    type = FilterType.SELECT
    value: bool
```

* * *

#### `TimeRangeFilter`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#timerangefilter)

JavaScriptPython

```javascript
type TimeRangeFilter = BaseFilter<'time-range', TimeRange> & {
  domain: TimeRange,
  timeline: FilterTimeline
};
```

```python
class TimeRangeFilter(BaseFilter):
    type = FilterType.TIME_RANGE
    value: TimeRange
    domain: TimeRange
    timeline: FilterTimeline
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-18)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-46)

| Argument | Type | Description |
| --- | --- | --- |
| `domain` | `timeRange` | Time domain of the dataset this filter is being applied to. |
| `timeline` | [`FilterTimeline`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertimeline) | Time range filter timeline information. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-19)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-47)

| Argument | Type | Description |
| --- | --- | --- |
| `type` | [`FilterType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertype)`.TIME_RANGE` | The time range filter type. |
| `value` | `timeRange` | The range of time this filter is being applied to. |
| `domain` | `timeRange` | Time domain of the dataset this filter is being applied to. |
| `timeline` | [`FilterTimeline`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#filtertimeline) | Time range filter timeline information. |

* * *

### Layer Types   [Skip link to Layer Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layer-types)

Types of layers that the visualization is supported for.

#### `Layer`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layer)

Type encapsulating layer properties.

JavaScriptPython

```javascript
type Layer = {
  id: string,
  type: LayerType | null,
  dataId: string,
  fields: Record<string, string | null>,
  label: string,
  isVisible: boolean,
  config: LayerConfig
};
```

```python
class Layer(LayerCreationProps):
  id: str
  type: Optional[LayerType]
  data_id: str
  fields: Dict[str, Optional[str]]
  label: str
  is_visible: bool
  config: LayerConfig
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-19)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-48)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the layer. |
| `type` | [`LayerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Type of the layer. |
| `dataId` | `string` | Unique identifier of the dataset this layer visualizes. |
| `fields` | `Record<string, string>` | Dictionary that maps fields that the layer requires for visualization to appropriate dataset fields. |
| `label` | `string` | Canonic label of this layer. |
| `isVisible` | `boolean` | Flag indicating whether layer is visible or not. |
| `config` | [`LayerConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) | Layer configuration specific to its type. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-20)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-49)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the layer. |
| `type` | [`LayerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Type of the layer. |
| `data_id` | `string` | Unique identifier of the dataset this layer visualizes. |
| `fields` | `Dict[str, Optional[str]]` | Dictionary that maps fields that the layer requires for visualization to appropriate dataset fields. |
| `label` | `string` | Canonic label of this layer. |
| `is_visible` | `boolean` | Flag indicating whether layer is visible or not. |
| `config` | [`LayerConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) | Layer configuration specific to its type. |

* * *

#### `LayerConfig`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layerconfig)

Internal layer configuration.

JavaScriptPython

```javascript
type LayerConfig = {
  visualChannels: VisualChannels,
  visConfig: Record<string, unknown>
  columnMode?: 'points' | 'geojson' | 'table' | 'neighbors' | 'LAT_LNG' | 'H3';
};
```

```python
class LayerConfig(PartialLayerConfig):
  visual_channels: VisualChannels
  vis_config: Dict[str, Any]
  column_mode: Optional[\
        Literal["points", "geojson", "table", "neighbors", "LAT_LNG", "H3"]\
    ]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-20)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-50)

| Argument | Type | Description |
| --- | --- | --- |
| `visualChannels` | [`VisualChannels`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#visualchannels) | Dictionary of visualization properties that the layer supports. |
| `visConfig` | `Record<string, unknown>;` | General layer settings. |
| `columnMode` | `string` | Column mode for the layer, relevant only to layers that support multiple input data formats (such as the Trip layer). Can be `'points'`, `'geojson'`, `'table'`, `'neighbors'`, `'LAT_LNG'`, `'H3'`. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-21)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-51)

| Argument | Type | Description |
| --- | --- | --- |
| `visual_channels` | [`VisualChannels`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#visualchannels) | Dictionary of visualization properties that the layer supports. |
| `vis_config` | `Dict[str, Any]` | General layer settings. |
| `column_mode` | `string` | Column mode for the layer, relevant only to layers that support multiple input data formats (such as the Trip layer). Can be `'points'`, `'geojson'`, `'table'`, `'neighbors'`, `'LAT_LNG'`, `'H3'`. |

* * *

#### `LayerCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layercreationprops)

A set of properties used to create a layer.

JavaScriptPython

```javascript
type LayerCreationProps = Omit<
  Optional<Layer, 'id' | 'fields' | 'label' | 'isVisible'>,
  'config'
> & {
  config?: Partial<LayerConfig>
};
```

```python
class LayerCreationProps(LayerUpdateProps):
  id: Optional[str]
  type: Optional[LayerType]
  data_id: Optional[str]
  fields: Dict[str, Optional[str]]
  label: Optional[str]
  is_visible: Optional[bool]
  config: Optional[PartialLayerConfig]
```

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-22)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-52)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the layer. |
| `type` | [`LayerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Type of the layer. |
| `data_id` | `string` | Unique identifier of the dataset this layer visualizes. |
| `fields` | `Dict[str, Optional[str]]` | Dictionary that maps fields that the layer requires for visualization to appropriate dataset fields. |
| `label` | `string` | Canonical label of this layer. |
| `is_visible` | `bool` | Flag indicating whether layer is visible or not. |
| `config` | [`PartialLayerConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#partiallayerconfig) | Layer configuration specific to its type. |

* * *

#### `LayerEventHandlers`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layereventhandlers)

A set of event handlers that are called on appropriate layer events.

JavaScriptPython

```javascript
type LayerEventHandlers = {
  onLayerTimelineUpdate?: (layerTimeline: LayerTimeline) => void
};
```

```python
class LayerEventHandlers():
  on_layer_timeline_update: Callable[[LayerTimeline], None]
```

* * *

#### `LayerTimeline`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layertimeline)

Type encapsulating layer timeline properties.

JavaScriptPython

```javascript
type LayerTimeline = {
  currentTime: number,
  domain: TimeRange,
  isAnimating: boolean,
  isVisible: boolean,
  animationSpeed: number,
  timeFormat: string,
  timezone: string | null,
  timeSteps: number[] | null
};
```

```python
class LayerTimelineUpdateProps():
  current_time: Optional[Number]
  domain: TimeRange
  is_animating: Optional[bool]
  is_visible: Optional[bool]
  animation_speed: Optional[Number]
  time_format: Optional[str]
  timezone: Optional[str]
  time_steps: Optional[List[Number]]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-21)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-53)

| Argument | Type | Description |
| --- | --- | --- |
| `currentTime` | `number` | Current time on the timeline in milliseconds. |
| `domain` | `timeRange` | Range of time that the timeline shows. |
| `isAnimating` | `boolean` | Flag indicating whether the timeline is animating or not. |
| `isVisible` | `boolean` | Flag indicating whether the timeline is visible or not. |
| `animationSpeed` | `number` | Speed at which timeline is animating. |
| `timeFormat` | `string` | Time format that the timeline is using in [day.js supported format](https://day.js.org/docs/en/display/format). |
| `timezone` | `string` | Timezone that the timeline is using in [tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |
| `timeSteps` | `number[]` | Step duration for all the animation keyframes in milliseconds. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-23)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-54)

| Argument | Type | Description |
| --- | --- | --- |
| `current_time` | `number` | Current time on the timeline in milliseconds. |
| `domain` | `timeRange` | Range of time that the timeline shows. |
| `is_animating` | `boolean` | Flag indicating whether the timeline is animating or not. |
| `is_visible` | `boolean` | Flag indicating whether the timeline is visible or not. |
| `animation_speed` | `number` | Speed at which timeline is animating. |
| `time_format` | `string` | Time format that the timeline is using in [day.js supported format](https://day.js.org/docs/en/display/format). |
| `timezone` | `string` | Timezone that the timeline is using in [tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |
| `time_steps` | `List[Number]]` | Step duration for all the animation keyframes in milliseconds. |

* * *

#### `LayerGroup`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layergroup)

A conceptual group used to organize layers.

JavaScriptPython

```javascript
type LayerGroup = {
  id: string,
  label: string,
  isVisible: boolean,
  layerIds: string[]
};
```

```python
class LayerGroup:
    id: StrictStr
    label: StrictStr
    is_visible: StrictBool
    layers: List[StrictStr]
```

##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-22)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-55)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the layer group. |
| `label` | `string` | Canonical label of this group. |
| `isVisible` | `boolean` | Flag indicating whether layer group is visible or not. |
| `layerIds` | `string[]` | Layers that are part of this group, sorted in the order in which they are shown. |

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-24)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-56)

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `string` | Unique identifier of the layer group. |
| `label` | `string` | Canonical label of this group. |
| `is_visible` | `boolean` | Flag indicating whether layer group is visible or not. |
| `layers` | `List[string]` | Layers that are part of this group, sorted in the order in which they are shown. |

* * *

#### `LayerTimelineUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layertimelineupdateprops)

JavaScriptPython

```javascript
type LayerTimelineUpdateProps = Partial<
  Pick<
    LayerTimeline,
    'currentTime' | 'isAnimating' | 'isVisible' | 'animationSpeed' | 'timeFormat' | 'timezone'
  >
>;
```

```python
class LayerTimelineUpdateProps():
  current_time: Optional[Number]
  is_animating: Optional[bool]
  is_visible: Optional[bool]
  animation_speed: Optional[Number]
  time_format: Optional[str]
  timezone: Optional[str]
```

##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-25)

###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-57)

| Argument | Type | Description |
| --- | --- | --- |
| `current_time` | `number` | Current time on the timeline in milliseconds. |
| `is_animating` | `boolean` | Flag indicating whether the timeline is animating or not. |
| `is_visible` | `boolean` | Flag indicating whether the timeline is visible or not. |
| `animation_speed` | `number` | Speed at which timeline is animating. |
| `time_format` | `string` | Time format that the timeline is using in [day.js supported format](https://day.js.org/docs/en/display/format). |
| `timezone` | `string` | Timezone that the timeline is using in [tz format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). |

* * *

#### `LayerType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layertype)

JavaScriptPython

```javascript
type LayerType =
  | 'point'
  | 'arc'
  | 'line'
  | 'grid'
  | 'hexagon'
  | 'geojson'
  | 'cluster'
  | 'icon'
  | 'heatmap'
  | 'h3'
  | '3d'
  | 'trip'
  | 's2'
  | 'raster-tile'
  | 'vector-tile';
```

```python
class LayerType(str, Enum):
  POINT = "point"
  ARC = "arc"
  LINE = "line"
  GRID = "grid"
  HEXAGON = "hexagon"
  GEOJSON = "geojson"
  CLUSTER = "cluster"
  ICON = "icon"
  HEATMAP = "heatmap"
  H3 = "h3"
  THREE_D = "3d"
  TRIP = "trip"
  S2 = "s2"
  RASTER_TILE = "raster-tile"
  VECTOR_TILE = "vector-tile"
```

* * *

#### `LayerUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#layerupdateprops)

A set of properties used to update a layer.

JavaScriptPython

```javascript
type LayerUpdateProps = Omit<PartialWithoutId<Layer>, 'config'> & {
  config?: Partial<LayerConfig>
};
```

```python
class LayerUpdateProps():
  type: Optional[LayerType]
  data_id: str
  fields: Optional[Dict[str, Optional[str]]]
  label: Optional[str]
  is_visible: Optional[bool]
  config: Optional[PartialLayerConfig\
```\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-26)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-58)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `type` | `number` | Type of the layer. |\
| `data_id` | `string` | Unique identifier of the dataset this layer visualizes. |\
| `fields` | `Dict[str, Optional[str]]` | Dictionary that maps fields that the layer requires for visualization to appropriate dataset fields. |\
| `label` | `string` | Canonical label of this layer. |\
| `is_visible` | `bool` | Flag indicating whether layer is visible or not. |\
| `config` | [`PartialLayerConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#partiallayerconfig) | Layer configuration specific to its type. |\
\
* * *\
\
#### `PartialLayerConfig`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#partiallayerconfig)\
\
_Python-exclusive type._\
\
Python\
\
```python\
class PartialLayerConfig():\
    visual_channels: Optional[VisualChannels]\
    vis_config: Optional[Dict[str, Any]]\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-59)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `visual_channels` | [`VisualChannels`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#visualchannels) | Dictionary of visualization properties that the layer supports. |\
| `vis_config` | `[Dict[str, Any]]` | General layer settings. |\
\
* * *\
\
#### `TileDatasetCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tiledatasetcreationprops-1)\
\
A set of properties used to asynchronously add a dataset to the map based on remote vector or raster tileset files.\
\
JavaScript\
\
```javascript\
type TileDatasetCreationProps =\
  | VectorTileDatasetRemoteCreationProps\
  | RasterTileDatasetRemoteCreationProps;\
`}\
```\
\
| Member | Description |\
| --- | --- |\
| [`VectorTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#vectortiledatasetremotecreationprops) | A set of properties used to create a vector tile dataset with provided metadata. |\
| [`RasterTileDatasetRemoteCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#rastertiledatasetremotecreationprops) | Dataset record representing a raster tileset. |\
\
* * *\
\
#### `VisualChannel`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#visualchannel)\
\
_Python-exclusive type._\
\
A dictionary of visualization properties that the layer supports.\
\
Python\
\
```python\
class VisualChannel():\
  name: str\
  type: str\
```\
\
* * *\
\
#### `VisualChannels`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#visualchannels)\
\
A dictionary of visualization properties that the layer supports.\
\
JavaScriptPython\
\
```javascript\
type VisualChannels = {\
  [key: string]:\
    | {\
        name: string,\
        type: string\
      }\
    | string\
    | null\
};\
```\
\
```python\
VisualChannels =\
  Dict[str, Union[VisualChannel, str, None]]\
```\
\
* * *\
\
### Map Types   [Skip link to Map Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#map-types)\
\
#### `Bounds`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#bounds)\
\
Type representing map bounds.\
\
JavaScriptPython\
\
```javascript\
type Bounds = {\
  minLongitude: number,\
  maxLongitude: number,\
  minLatitude: number,\
  maxLatitude: number\
};\
```\
\
```python\
class Bounds():\
  min_longitude: Number\
  max_longitude: Number\
  min_latitude: Number\
  max_latitude: Number\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-23)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-60)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `minLongitude` | `number` | Minimum (left) longitude value. |\
| `maxLongitude` | `number` | Maximum (right) longitude value. |\
| `minLatitude` | `number` | Minimum (bottom) latitude value. |\
| `maxLatitude` | `number` | Maximum (top) latitude value. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-27)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-61)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `min_longitude` | `number` | Minimum (left) longitude value. |\
| `max_longitude` | `number` | Maximum (right) longitude value. |\
| `min_latitude` | `number` | Minimum (bottom) latitude value. |\
| `max_latitude` | `number` | Maximum (top) latitude value. |\
\
* * *\
\
#### `Effect`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#effect)\
\
A visual [post-processing effect](https://docs.foursquare.com/studio/docs/maps-effects) to apply to the map.\
\
JavaScriptPython\
\
```javascript\
type Effect = {\
  id: string;\
  type: EffectType;\
  isEnabled: boolean;\
  parameters: Record<string, number | [number, number] | [number, number, number] | string>;\
};\
```\
\
```python\
class Effect():\
    id: StrictStr\
    type: EffectType\
    is_enabled: StrictBool\
    parameters: Optional[\
        Dict[StrictStr, Union[Number, List[Number], StrictBool, StrictStr]]\
    ]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-24)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-62)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| id | `string` | Unique identifier of the effect. |\
| type | [`EffectType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#effecttype) | The type of the effect. |\
| isEnabled | `bool` | Flag indicating whether the effect is enabled or not. |\
| parameters | `dict` | Effect-specific settings. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-28)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-63)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| id | `string` | Unique identifier of the effect. |\
| type | [`EffectType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#effecttype) | The type of the effect. |\
| is\_enabled | `bool` | Flag indicating whether the effect is enabled or not. |\
| parameters | `dict` | Effect-specific settings. |\
\
* * *\
\
#### `EffectCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#effectcreationprops)\
\
A set of optional properties used to create an effect. See [effect](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#effect).\
\
JavaScriptPython\
\
```javascript\
EffectCreationProps = Optional<Effect, 'id' | 'isEnabled' | 'parameters'>;\
```\
\
```python\
_EffectCreationProps(_EffectUpdateProps):\
    id: Optional[StrictStr]\
    type: Optional[EffectType]\
    is_enabled: Optional[StrictBool]\
    parameters: Optional[\
        Dict[StrictStr, Union[Number, List[Number], StrictBool, StrictStr]]\
    ]\
```\
\
--\
\
#### `EffectType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#effecttype)\
\
The type of effect to use.\
\
JavaScriptPython\
\
```javascript\
type EffectType =\
  | 'ink'\
  | 'brightness-contrast'\
  | 'hue-saturation'\
  | 'vibrance'\
  | 'sepia'\
  | 'dot-screen'\
  | 'color-halftone'\
  | 'noise'\
  | 'triangle-blur'\
  | 'zoom-blur'\
  | 'tilt-shift'\
  | 'edge-work'\
  | 'vignette'\
  | 'magnify'\
  | 'hexagonal-pixelate'\
  | 'light-and-shadow';\
```\
\
```python\
EffectType = [\
  'ink',\
  'brightness-contrast',\
  'hue-saturation',\
  'vibrance',\
  'sepia',\
  'dot-screen',\
  'color-halftone',\
  'noise',\
  'triangle-blur',\
  'zoom-blur',\
  'tilt-shift',\
  'edge-work',\
  'vignette',\
  'magnify',\
  'hexagonal-pixelate',\
  'light-and-shadow'\
]\
```\
\
* * *\
\
#### `EffectUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#effectupdateprops)\
\
A set of optional properties used to update an effect. See [effect](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#effect).\
\
JavaScriptPython\
\
```javascript\
EffectUpdateProps = Omit<PartialWithoutId<Effect>, 'type'>;\
```\
\
```python\
_EffectUpdateProps(CamelCaseBaseModel):\
    is_enabled: Optional[StrictBool]\
    parameters: Optional[\
        Dict[StrictStr, Union[Number, List[Number], StrictBool, StrictStr]]\
    ]\
```\
\
* * *\
\
#### `GeometrySelectionEvent`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#geometryselectionevent)\
\
Geometry selection event containing an array of GeoJSON polygon features.\
\
JavaScriptPython\
\
```javascript\
type GeometrySelectionEvent = {\
  features: Feature<Polygon>[]\
};\
```\
\
```python\
class GeometrySelectionEvent():\
  features: List[Feature[Polygon, Any]]\
```\
\
* * *\
\
#### `HTMLMap`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#htmlmap)\
\
_Python exclsuive type._\
\
Python\
\
```python\
class HTMLMap(\
    self,\
    style: Optional[Dict] = None,\
    basemaps: Optional[Dict] = None,\
)`\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-64)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `style` | `Dict` | Optional map container CSS style customization. Uses camelCase as this is React standard. |\
| `basemaps` | `Dict` | Basemap customization settings. |\
| `basemaps.custom_map_styles` | `List[` [`MapStyleCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylecreationprops)`]` | A set of properties required when specifying a map style. |\
| `basemaps.initial_map_styles` | `string` | A mapbox style ID. |\
\
* * *\
\
#### `MapControlVisibility`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapcontrolvisibility)\
\
A map of map control component visibility.\
\
JavaScriptPython\
\
```javascript\
type MapControlVisibility = {\
  [control in MapControls]: boolean;\
};\
```\
\
```python\
class MapControlVisibility():\
  legend: bool\
  toggle_3d: bool\
  split_map: bool\
  map_draw: bool\
```\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-29)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-65)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `legend` | `bool` | Whether the legend is visible. |\
| `toggle_3d` | `bool` | Whether the 3D toggle is visible. |\
| `split_map` | `bool` | Whether the split map button is visible. |\
| `map_draw` | `bool` | Whether the map draw button is visible. |\
\
* * *\
\
#### `MapControls`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapcontrols)\
\
_Javascript-exclusive type._\
\
Map controls that support customization.\
\
JavaScript\
\
```javascript\
type MapControls = 'legend' | 'toggle-3d' | 'split-map' | 'map-draw';\
```\
\
* * *\
\
#### `MapCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapcreationprops)\
\
A set of properties used to initialize the map.\
\
JavaScript\
\
```javascript\
type MapCreationProps = {\
  container?: HTMLElement,\
  style?: CSSProperties,\
  eventHandlers?: MapEventHandlers,\
  showPlaceholder?: boolean,\
  initialState?: {\
    publishedMapId: string;\
  };\
  basemaps?: {\
    customMapStyles?: MapStyleCreationProps[],\
    initialMapStyleId?: string,\
    mapboxAccessToken?: string,\
    transformRequest?: (opts: {url: string}) => RequestParameters\
  },\
  raster?: {\
    serverUrls?: string[],\
    stacSearchUrl?: string\
    onTileLoadUpdate?: RasterTileLoadEvent\
  },\
  uiConfig?: {\
    mapName?: string,\
    sidePanel?: {\
      view?: 'hidden' | 'collapsed' | 'visible',\
      isAddLayerVisible?: boolean,\
      addDataButton?: {\
        onClick?: () => void\
      }\
    },\
    exportEnabled?: boolean;\
    sideNav?: {\
      isVisible?: boolean\
    }\
  }\
};\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-66)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `container` | `HTMLElement` | DOM element to embed map into. |\
| `style` | `CSSProperties` | Map container CSS style customization. |\
| `eventHandlers` | [`MapEventHandlers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapeventhandlers) | Event handlers to attach to the map. |\
| `showPlaceholder` | `bool` | Visibility of loading screen placeholder. Default: `true` |\
| `initialState` | `object` | Information about the state to load upon creation. |\
| `initialState.publishedMapID` | `string` | Identifier of the map to load. Note: the map must be [published](https://docs.foursquare.com/studio/docs/publish) (currently an action available in the Studio UI). _Not_ supported in the [on-prem SDK](https://docs.foursquare.com/developer/docs/studio-map-sdk-introduction#on-prem-features). |\
| `basemaps` | `object` | Basemap customization settings. |\
| `basemaps.customMapStyles` | [`MapStyleCreationProps[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylecreationprops) | Custom map styles to make available for usage. |\
| `basemaps.mapboxAccessToken` | `string` | Mapbox token to be used when loading the provided custom map styles. |\
| `basemaps.initialMapStyleId` | `string` | Identifier for the map style to be used initially. |\
| `transformRequest` | `function` | Function to transform basemap resource requests. |\
| `raster` | `object` | <br> Customization related to raster datasets and tiles. |\
| `raster.serverUrls` | `string[]` | <br> URLs to custom servers to target when serving raster tiles. |\
| `raster.stacSearchUrls` | `string` | <br> URL to pass to the backend for searching a STAC Collection. |\
| `raster.onTileLoadUpdate` | [`RasterTileLoadEvent`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#doc:studio-map-sdk-types#rastertileloadevent) | <br> Called whenever a raster layer tile loading status updates. |\
| `uiConfig` | `object` | <br> UI configuration object. |\
| `uiConfig.mapName` | `string` | <br> Name of the map to show in the title. Default = `Studio` |\
| `uiConfig.sidePanel` | `object` | <br> A UI component displaying options for data, layer, and map manipulation. |\
| `uiConfig.sidePanel.view` | `string` | <br> View state of the side panel. Options include `'hidden'`,`'collapsed'`, or `'visible'`. |\
| `uiConfig.sidePanel.isAddLayerVisible` | `bool` | <br> When enabled, display the "Add Layer" button. |\
| `uiConfig.sidePanel.addDataButton` | `object` | <br> Custom settings for the Add Data button. |\
| `uiConfig.sidePanel.addDatabutton.onClick` |  | <br> Custom event handler for the Add Data button. |\
| `uiConfig.exportEnabled` | `bool` | <br> When enabled, users may export data from the map via the **Export** button. |\
| `urls.staticAssetUrlBase` | `string` | <br> Custom URL base for static assets. |\
| `urls.applicationUrlBase` | `string` | <br> Custom URL base for workers and other script resources loaded by the SDK. |\
\
* * *\
\
#### `MapEventHandlers`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapeventhandlers)\
\
A set of event handlers that are called on appropriate map events.\
\
JavaScriptPython\
\
```javascript\
type MapEventHandlers = {\
  onClick?: (event: MouseEvent) => void,\
  onHover?: (event: MouseEvent) => void,\
  onViewUpdate?: (view: View) => void,\
  onGeometrySelection?: (event: GeometrySelectionEvent) => void\
} & LayerEventHandlers &\
  FilterEventHandlers;\
```\
\
```python\
class MapEventHandlers():\
  on_click: Optional[OnClickHandlerType]\
  on_hover: Optional[OnHoverHandlerType]\
  on_view_update: Optional[OnViewUpdateType]\
  on_geometry_selection: Optional[OnGeometrySelectionType]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-25)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-67)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `onClick` | (event: [MouseEvent](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mouseevent)) | Called whenever user clicks the visible part of the map. |\
| `onHover` | (event: [MouseEvent](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mouseevent)) | Called whenever a mouse hovers over a visible part of the map. |\
| `onViewUpdate` | (view: [View](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#view)) | Called whenever visible map viewport changes. |\
| `onGeometrySelection` | (event: [GeometrySelectionEvent](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#geometryselectionevent)) | Called whenever a geometry is selected on the map. |\
| `AnalyticsEventHandlers` | (event: [UserEvent](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#userevent)) | Called whenever a user-triggered event happens. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-30)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-68)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `on_click` | [`OnClickHandlerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onclickhandlertype) | Called whenever user clicks the visible part of the map. |\
| `on_hover` | [`OnHoverHandlerType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onhoverhandlertype) | Called whenever a mouse hovers over a visible part of the map. |\
| `on_view_update` | [`OnViewUpdateType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#onviewupdatetype) | Called whenever visible map viewport changes. |\
| `on_geometry_selection_event` | [`OnGeometrySelectionType`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#ongeometryselectiontype) | Called whenever a geometry is selected on the map. |\
\
* * *\
\
#### `MapStyle`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapstyle)\
\
Unique identifier of the MapStyle.\
\
JavaScriptPython\
\
```javascript\
type MapStyle = {\
  id: string,\
  label: string,\
  url: string,\
  thumbnailUrl: string,\
  layerGroups: MapStyleLayerGroup[]\
};\
```\
\
```python\
class MapStyle():\
  id: str\
  label: str\
  url: str\
  thumbnail_url: str\
  layer_groups: List[MapStyleLayerGroup]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-26)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-69)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `id` | `string` | Unique identifier of the MapStyle. |\
| `label` | `string` | User facing MapStyle label. |\
| `url` | `string` | URL of the MapStyle descriptor json in Mapbox style format. |\
| `thumbnailUrl` | `string` | URL of the thumbnail to show alongside the MapStyle. |\
| `layerGroups` | [`MapStyleLayerGroup[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#MapStylelayergroup) | An array of MapStyle layer groups. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-31)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-70)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `id` | `string` | Unique identifier of the MapStyle. |\
| `label` | `string` | User facing MapStyle label. |\
| `url` | `string` | URL of the MapStyle descriptor json in Mapbox style format. |\
| `thumbnail_url` | `string` | URL of the thumbnail to show alongside the MapStyle. |\
| `layer_groups` | `List[` [`MapStyleLayerGroup`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#MapStylelayergroup)`]` | An array of MapStyle layer groups. |\
\
* * *\
\
#### `MapStyleCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapstylecreationprops)\
\
A set of properties required when specifying a MapStyle.\
\
JavaScriptPython\
\
```javascript\
type MapStyleCreationProps = Merge<\
  Optional<MapStyle, 'id' | 'thumbnailUrl'>,\
  {layerGroups?: MapStyleLayerGroupCreationProps[]}\
>;\
```\
\
```python\
class MapStyleCreationProps():\
  id: Optional[str]\
  thumbnail_url: Optional[str]\
  layer_groups: Optional[List[MapStyleLayerGroupCreationProps]]\
```\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-32)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-71)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `id` | `string` | Unique identifier of the MapStyle. |\
| `thumbnail_url` | `string` | User facing MapStyle label. |\
| `thumbnail_groups` | `string` | URL of the MapStyle descriptor json in Mapbox style format. |\
\
* * *\
\
#### `MapStyleLayerGroup`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapstylelayergroup)\
\
A grouping concept for MapStyle layers, allowing for interaction on a set of layers.\
\
JavaScriptPython\
\
```javascript\
type MapStyleLayerGroup = {\
  label: string,\
  defaultVisibility: boolean\
};\
```\
\
```python\
class MapStyleLayerGroup():\
  label: str\
  default_visibility: bool\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-27)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-72)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `label` | `string` | Layer group text representation. Currently supported labels are: label, road, border, building, water, land, 3d building. |\
| `defaultVisibility` | `boolean` | Whether this group should be visible by default. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-33)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-73)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `label` | `string` | Layer group text representation. Currently supported labels are: label, road, border, building, water, land, 3d building. |\
| `default_visibility` | `boolean` | Whether this group should be visible by default. |\
\
* * *\
\
#### `MapStyleLayerGroupCreationProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mapstylelayergroupcreationprops)\
\
A set of properties required when specifying a MapStyle layer group.\
\
JavaScriptPython\
\
```javascript\
type MapStyleLayerGroupCreationProps = MapStyleLayerGroup & {\
  filter: string\
};\
```\
\
```python\
class MapStyleLayerGroupCreationProps(MapStyleLayerGroup):\
  filter: str\
```\
\
| Parent | Description |\
| --- | --- |\
| [`MapStyleLayerGroup`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylelayergroup) | A grouping concept for MapStyle layers, allowing for interaction on a set of layers. |\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-74)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `filter` | `string` | Layer filtering regular expression that determines whether layer with a given id should be part of this group. Supports [regular JS RegExp syntax](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp). |\
\
* * *\
\
#### `MouseEvent`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#mouseevent)\
\
Mouse event capturing information such as position and any map features related to it.\
\
JavaScriptPython\
\
```javascript\
type MouseEvent = {\
  coordinate: [number, number],\
  position: [number, number],\
  pickInfo?: {\
    layerId: string,\
    rowIndex: number,\
    rowData: unknown[]\
  }\
};\
```\
\
```python\
class MouseEvent():\
  coordinate: Tuple[Number, Number]\
  position: Tuple[Number, Number]\
  pick_info: Optional[PickInfo]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-28)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-75)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `coordinate` | \[`number`, `number`\] | Geospatial coordinates \[longitude, latitude\]. |\
| `position` | \[`number`, `number`\] | Mouse position relative to the viewport \[x, y\]. |\
| `pickInfo` | `object` | Additional context on map data associated with this event. |\
| `pickInfo.layerId` | `string` | Identifier of the layer that the mouse event is related to. |\
| `pickInfo.rowIndex` | `number` | Index of the row in the data table that picked layer visualizes. |\
| `pickInfo.rowData` | `unknown[]` | Row data that the picked layer visualizes. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-34)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-76)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `coordinate` | ```Tuple[``number```, ```number``]``` | Geospatial coordinates \[longitude, latitude\]. |\
| `position` | \[`number`, `number`\] | Mouse position relative to the viewport \[x, y\]. |\
| `pickInfo` | [`PickInfo`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#pickinfo) | Additional context on map data associated with this event. |\
\
* * *\
\
#### `OnClickHandlerType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#onclickhandlertype)\
\
_Python-exclusive type._\
\
JavaScript\
\
```javascript\
OnClickHandlerType = Callable[([MouseEvent], None)];\
```\
\
* * *\
\
#### `OnGeometrySelectionType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#ongeometryselectiontype)\
\
_Python-exclusive type._\
\
Python\
\
```python\
OnGeometrySelectionType = Callable[[GeometrySelectionEvent], None]\
```\
\
* * *\
\
#### `OnHoverHandlerType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#onhoverhandlertype)\
\
_Python-exclusive type._\
\
Python\
\
```python\
OnHoverHandlerType = Callable[[MouseEvent], None]\
```\
\
* * *\
\
#### `OnViewUpdateType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#onviewupdatetype)\
\
_Python-exclusive type._\
\
Python\
\
```python\
OnViewUpdateType = Callable[[View], None]\
```\
\
* * *\
\
#### `PickInfo`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#pickinfo)\
\
_Python-exclusive type._\
\
Additional context on map data associated to this event.\
\
Python\
\
```python\
class PickInfo():\
  layer_id: str\
  row_index: Number\
  row_data: List[Any]\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-77)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `layer_id` | `string` | Identifier of the layer that the mouse event is related to. |\
| `row_index` | `number` | User facing MapStyle label. |\
| `row_data` | `List[Any]` | Row data that the picked layer visualizes. |\
\
* * *\
\
#### `RequestParameters`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#requestparameters)\
\
Allows [createMap](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#createmap) to transform any requests related to the base map (tiles, source, etc).\
\
JavaScript\
\
```javascript\
type RequestParameters = {\
  url: string;\
  headers?: {[header: string]: string};\
  method?: 'GET' | 'POST' | 'PUT';\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-78)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `url` | `string` | The URL to be requested. |\
| `headers` | `{[header: string]: string};` | The headers to be sent with the request. |\
| `method` | `string` | Request method to use. `'GET'`, `'POST'`, or `'PUT'`. |\
\
* * *\
\
#### `SetMapConfigOptions`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#setmapconfigoptions)\
\
Options applicable when setting the map configuration.\
\
JavaScriptPython\
\
```javascript\
type SetMapConfigOptions = {\
  additionalDatasets?: DatasetCreationProps[]\
};\
```\
\
```python\
class SetMapConfigOptions():\
    additional_datasets: Optional[List[_DatasetCreationProps]]\
```\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `additionalDatasets` | [`DatasetCreationProps[]`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#datasetcreationprops) | Datasets to add to the map before loading the map configuration. |\
\
* * *\
\
#### `SetSplitModeOptions`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#setsplitmodeoptions)\
\
Options applicable when setting split map mode.\
\
JavaScript\
\
```javascript\
type SetSplitModeOptions: Partial<SplitModeContext>\
```\
\
| Parent | Description |\
| --- | --- |\
| [`SplitModeContext`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmodecontext) | Base type that contains context around the split map mode. |\
\
* * *\
\
#### `SidePanelType`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#sidepaneltype)\
\
Available side panel types.\
\
JavaScript\
\
```javascript\
type SidePanelType = 'layer' | 'column' | 'filter' | 'interaction' | 'map' | 'analysis';\
```\
\
* * *\
\
#### `SplitMode`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#splitmode)\
\
Supported map split modes.\
\
JavaScriptPython\
\
```javascript\
type SplitMode = 'single' | 'dual' | 'swipe';\
```\
\
```python\
SplitMode = Literal["single", "dual", "swipe"]\
```\
\
* * *\
\
#### `SplitModeProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#splitmodeprops)\
\
Container type for split map mode options.\
\
JavaScriptPython\
\
```javascript\
type SplitModeProps={\
    splitMode: SplitMode\
    layers: Optional[SplitLayers]\
};\
```\
\
```python\
class SplitModeProps():\
    split_mode: SplitMode\
    layers: Optional[SplitLayers]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-29)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-79)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `splitMode` | [`SplitMode`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmode) | Supported split map modes. |\
| `layers` | `string[][]` | Optional array of layer ids to show on either side of the split. Only applicable for dual and swipe split modes. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-35)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-80)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `split_mode` | [`SplitMode`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmode) | Supported split map modes. |\
| `layers` | [`SplitLayers`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitlayers) | Optional array of layer ids to show on either side of the split. Only applicable for dual and swipe split modes. |\
\
* * *\
\
#### `SplitModeContext`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#splitmodecontext)\
\
Base type that contains context around the split map mode.\
\
JavaScript\
\
```javascript\
type SplitModeContext = {\
  layers: string[][],\
  isViewSynced: boolean,\
  isZoomSynced: boolean\
};\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-81)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `layers` | `string[][]` | An array of layer ids to show on either side of the split. Only applicable for multi-view split modes. |\
| `isViewSynced` | `bool` | Boolean indicating whether views are synced. Only applicable to dual split mode. |\
| `isZoomSynced` | `bool` | Boolean indicating whether zoom is synced between views. Only applicable to dual split mode. |\
\
* * *\
\
#### `SplitModeDetails`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#splitmodedetails)\
\
Container type for split map mode details.\
\
JavaScript\
\
```javascript\
export type SplitModeDetails = {\
  splitMode: SplitMode\
} & SplitModeContext;\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-82)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `splitMode` | [`SplitMode`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmode) | Supported split map modes. |\
| `SplitModeContext` | [`SplitModeContext`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#splitmodecontext) | Base type that contains context around the split map mode. |\
\
* * *\
\
#### `SplitLayers`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#splitlayers)\
\
_Python-exclusive type._\
\
Arrays with layer Ids per each post-split map section.\
\
Python\
\
```python\
SplitLayers = List[List[str]]\
```\
\
* * *\
\
#### `StudioLoadingProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#studioloadingprops)\
\
Type that allows for studio application customization to be specified.\
\
JavaScript\
\
```javascript\
type StudioLoadingProps = {\
  url: string,\
  namespace?: string\
};\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-83)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `url` | `string` | The URL to load the studio application from. |\
| `namespace` | `string` | The name of the object attached to the window that contains createMap function. |\
\
* * *\
\
#### `SyncWidgetMap`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#syncwidgetmap)\
\
Initializes a new widget map.\
\
_Python-exclsuive type._\
\
Python\
\
```python\
class SyncWidgetMap(\
    self,\
    *,\
    style: Optional[Dict] = None,\
    basemaps: Optional[Dict] = None,\
    raster: Optional[Dict] = None,\
    studio: Optional[Dict] = None,\
)\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-84)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `style` | `Dict` | Optional map container CSS style customization. Uses camelCase as this is React standard. |\
| `basemaps` | `Dict` | Basemap customization settings. |\
| `basemaps.custom_map_styles` | `List[` [`MapStyleCreationProps`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#mapstylecreationprops)`]` | A set of properties required when specifying a map style. |\
| `basemaps.initial_map_styles` | `string` | A mapbox style ID. |\
| `raster` | `Dict` | Customization related to raster datasets and tiles. Not available when `renderer = html` |\
| `raster.server_urls` | `List[string]` | URLs to custom servers to target when serving raster tiles. |\
| `raster.stac_search_url` | `string` | URL to pass to the backend for searching a STAC Collection. |\
\
* * *\
\
#### `ThemeOptions`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#themeoptions)\
\
_Python-exclusive type._\
\
Python\
\
```python\
lass ThemeOptions():\
  background_color: Optional[str]\
```\
\
##### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-85)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `background_color` | `string` | Background color of UI elements. |\
\
* * *\
\
#### `ThemePresets`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#themepresets)\
\
_Python-exclusive type._\
\
Python\
\
```python\
ThemePresets = Literal["light", "dark"]\
```\
\
* * *\
\
#### `ThemeUpdateProps`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#themeupdateprops)\
\
Map UI theme settings that support customization.\
\
JavaScriptPython\
\
```javascript\
type ThemeUpdateProps = {\
  preset: 'light' | 'dark',\
  options?: {\
    backgroundColor?: CSSColor\
  }\
};\
```\
\
```python\
class ThemeUpdateProps():\
    preset: Optional[ThemePresets]\
    options: Optional[ThemeOptions]\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-30)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-86)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `preset` | `string` | UI theme preset name. |\
| `options` | `object` | Optional UI theme customization options. |\
| `options.backgroundColor` | `CSSColor` | Background color of UI elements in a CSS color string. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-36)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-87)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `preset` | [`ThemePresets`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#themepresets) | UI theme preset name. |\
| `options` | [`ThemeOptions`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#themeoptions) | Optional UI theme customization options. |\
\
* * *\
\
#### `View`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#view)\
\
Type encapsulating view properties.\
\
JavaScriptPython\
\
```javascript\
type View = {\
  longitude: number,\
  latitude: number,\
  zoom: number,\
  pitch: number,\
  bearing: number,\
  dragRotate: boolean\
};\
```\
\
```python\
class View(_PartialView):\
  longitude: Number\
  latitude: Number\
  zoom: Number\
  pitch: Number\
  bearing: Number\
  drag_rotate: StrictBool\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-31)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-88)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `longitude` | `number` | Longitude of the view center \[-180, 180\]. |\
| `latitude` | `number` | Latitude of the view center \[-90, 90\]. |\
| `zoom` | `number` | View zoom level \[0-22\]. |\
| `pitch` | `number` | View pitch value \[0-90\]. |\
| `bearing` | `number` | View bearing. |\
| `bearing` | `number` | View bearing. |\
| `dragRotate` | `boolean` | Whether to enable rotating with pointer drag. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-37)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-89)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `longitude` | `number` | Longitude of the view center \[-180, 180\]. |\
| `latitude` | `number` | Latitude of the view center \[-90, 90\]. |\
| `zoom` | `number` | View zoom level \[0-22\]. |\
| `pitch` | `number` | View pitch value \[0-90\]. |\
| `bearing` | `number` | View bearing. |\
| `drag_rotate` | `boolean` | Whether to enable rotating with pointer drag. |\
\
* * *\
\
#### `ViewLimits`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#viewlimits)\
\
Type encapsulating map view limits.\
\
JavaScriptPython\
\
```javascript\
type ViewLimits = {\
  minZoom: number,\
  maxZoom: number,\
  maxBounds?: Bounds\
};\
```\
\
```python\
class ViewLimits():\
  min_zoom: Number\
  max_zoom: Number\
  max_bounds: Bounds\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-32)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-90)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `minZoom` | `number` | Minimum allowed zoom level. |\
| `maxZoom` | `number` | Maximum allowed zoom level. |\
| `maxBounds` | [`Bounds`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#bounds) | Optional maximum allowed bounds. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-38)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-91)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `min_zoom` | `number` | Minimum allowed zoom level. |\
| `max_zoom` | `number` | Maximum allowed zoom level. |\
| `maxBounds` | [`Bounds`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#bounds) | Optional maximum allowed bounds. |\
\
* * *\
\
#### `ViewMode`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#viewmode)\
\
Supported map view modes.\
\
JavaScript\
\
```javascript\
type ViewMode = '2d' | '3d' | 'globe';\
```\
\
### Tooltip Types   [Skip link to Tooltip Types](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tooltip-types)\
\
* * *\
\
#### `TooltipInteractionConfig`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tooltipinteractionconfig)\
\
Type encapsulating whole tooltip configuration.\
\
JavaScriptPython\
\
```javascript\
type TooltipInteractionConfig = {\
  enabled: boolean,\
  tooltipConfig: TooltipConfig\
};\
```\
\
```python\
class TooltipInteractionConfig():\
  enabled: bool\
  tooltip_config: TooltipConfig\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-33)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-92)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `enabled` | `bool` | Is tooltip enabled on hover. |\
| `tooltipConfig` | [`TooltipConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipconfig) | Detailed configuration of the tooltip. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-39)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-93)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `enabled` | `bool` | Is tooltip enabled on hover. |\
| `tooltip_config` | [`TooltipConfig`](https://docs.foursquare.com/developer/docs/studio-map-sdk-types#tooltipconfig) | Detailed configuration of the tooltip. |\
\
* * *\
\
#### `TooltipConfig`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tooltipconfig)\
\
Type encapsulating detailed tooltip configuration.\
\
JavaScriptPython\
\
```javascript\
type TooltipConfig = {\
  fieldsToShow: {\
      [key: string]: [TooltipField]\
  },\
  compareMode?: Boolean,\
  compareType?: 'absolute' | 'relative'\
};\
```\
\
```python\
class TooltipConfig():\
  fields_to_show: Dict[str, List[TooltipField]]\
  compare_mode: bool\
  compare_type: "absolute" | "relative"\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-34)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-94)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `fieldsToShow` | `{ [key: string]: [TooltipField] }` | Key value pairs where key is ID of dataset, and value is list of fields to show on Tooltip. |\
| `compareMode` | `Boolean` | Is compare mode enabled. |\
| `compareType` | `'absolute' |  'relative'` | Which compare type is active. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-40)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-95)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `fieldsToShow` | `{ [key: string]: [TooltipField] }` | Key value pairs where key is ID of dataset, and value is list of fields to show on Tooltip. |\
| `compareMode` | `Boolean` | Is compare mode enabled. |\
| `compareType` | `'absolute' |  'relative'` | Which compare type is active . |\
\
* * *\
\
#### `TooltipField`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tooltipfield)\
\
Type describing an individual tooltip on the map.\
\
JavaScriptPython\
\
```javascript\
type TooltipField = {\
  name: string,\
  format: string\
};\
```\
\
```python\
class TooltipField():\
  name: str\
  format: str\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-35)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-96)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `name` | `string` | Field name (name of column in the dataset). |\
| `format` | `string` | Format of text. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-41)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-97)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `name` | `str` | Field name (name of column in the dataset). |\
| `format` | `str` | Format of text. |\
\
* * *\
\
#### `TooltipInteractionResponse`   [Skip link to [object Object]](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#tooltipinteractionresponse)\
\
Type defining the interaction status of tooltips on the map.\
\
JavaScriptPython\
\
```javascript\
type TooltipInteractionResponse = {\
  enabled: Boolean\
};\
```\
\
```python\
class TooltipInteractionResponse():\
  enabled: bool\
```\
\
##### Javascript   [Skip link to Javascript](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#javascript-36)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-98)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `enabled` | `Boolean` | Whether or not the tooltip enabled on hover. |\
\
##### Python   [Skip link to Python](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#python-42)\
\
###### Arguments   [Skip link to Arguments](https://docs.foursquare.com/developer/docs/studio-map-sdk-types\#arguments-99)\
\
| Argument | Type | Description |\
| --- | --- | --- |\
| `enabled` | `bool` | Whether or not tooltip enabled on hover. |\
\
Updated5 months ago\
\
* * *\
\
Did this page help you?\
\
Yes\
\
No\
\
\
\
Ask AI\
\
reCAPTCHA\
\
Recaptcha requires verification.\
\
protected by **reCAPTCHA**
