> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# IGeoLayerPushpin

- Package: [@gooddata/sdk-ui-geo](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/index.md)
- Kind: interface
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui-geo/src/next/types/layers/index.ts

Pushpin layer configuration.

**Signature:**

```typescript
export interface IGeoLayerPushpin extends IGeoLayerBase 
```
**Extends:** [IGeoLayerBase](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerbase/index.md)

## Remarks

A pushpin layer renders point data on the map as markers/pins. It requires separate latitude and longitude attributes to specify geographic coordinates.

Features: - \*\*Size scaling\*\*: Use the `size` property to vary marker sizes based on a measure - \*\*Color coding\*\*: Use the `color` property for measure-based gradients or attribute-based categories - \*\*Segmentation\*\*: Use `segmentBy` to group markers by category with distinct colors - \*\*Clustering\*\*: Configure point clustering in the chart config for better performance with many points

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [geoIcon?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpingeoicon) |  | [IAttribute](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattribute/index.md) | _(Optional)_ Geo icon attribute for pushpins. |
| [latitude](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpinlatitude) |  | [IAttribute](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattribute/index.md) | Latitude attribute. |
| [longitude](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpinlongitude) |  | [IAttribute](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattribute/index.md) | Longitude attribute. |
| [measures?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpinmeasures) |  | [IAttributeOrMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributeormeasure/index.md)[] | _(Optional)_ Additional measures displayed in pushpin tooltips. |
| [size?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpinsize) |  | [IAttributeOrMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributeormeasure/index.md) | _(Optional)_ Size measure for pushpins. |
| [type](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-geo/sdk-ui-geo.igeolayerpushpin/index.md#igeolayerpushpintype) |  | "pushpin" |  |

## Property details

### IGeoLayerPushpin.geoIcon

Geo icon attribute for pushpins.

**Signature:**

```typescript
geoIcon?: IAttribute;
```

#### Remarks

An attribute whose display form type is `GDC.geo.icon`. When provided together with `shapeType: "iconByValue"`, each pushpin's icon is resolved from the attribute value for that row.

This attribute is required when `config.points.shapeType` is `"iconByValue"`. If it is missing, the icon marker may not render.

### IGeoLayerPushpin.latitude

Latitude attribute.

**Signature:**

```typescript
latitude: IAttribute;
```

#### Remarks

An attribute containing latitude values (decimal degrees, -90 to 90). Must be used together with `longitude`.

### IGeoLayerPushpin.longitude

Longitude attribute.

**Signature:**

```typescript
longitude: IAttribute;
```

#### Remarks

An attribute containing longitude values (decimal degrees, -180 to 180). Must be used together with `latitude`.

### IGeoLayerPushpin.measures

Additional measures displayed in pushpin tooltips.

**Signature:**

```typescript
measures?: IAttributeOrMeasure[];
```

#### Remarks

When provided, these measures are displayed in tooltips without affecting pushpin size or color.

### IGeoLayerPushpin.size

Size measure for pushpins.

**Signature:**

```typescript
size?: IAttributeOrMeasure;
```

#### Remarks

When provided, marker sizes are scaled based on the measure values. Larger values result in larger markers. The scaling range can be configured via `config.points.minSize` and `config.points.maxSize`.

If not provided, all markers are rendered at a uniform size.

### IGeoLayerPushpin.type

**Signature:**

```typescript
type: "pushpin";
```
