# PinBuilder

#### new Cesium.PinBuilder()
Core/PinBuilder.js 30

A utility class for generating custom map pins as canvas elements.
Example pins generated using both the maki icon set, which ships with Cesium, and single character text.

##### Demo:

- Cesium Sandcastle PinBuilder Demo

### Methods

#### fromColor(color, size) → Canvas
Core/PinBuilder.js 41

Creates an empty pin of the specified color and size.

Name | Type | Description
--- | --- | ---
`color` | Color | The color of the pin.
`size` | Number | The size of the pin, in pixels.

##### Returns:

The canvas element that represents the generated pin.

#### fromMakiIconId(id, color, size) → Canvas|Promise.<Canvas>
Core/PinBuilder.js 84

Creates a pin with the specified maki icon identifier, color, and size.

Name | Type | Description
--- | --- | ---
`id` | String | The id of the maki icon to be stamped onto the pin.
`color` | Color | The color of the pin.
`size` | Number | The size of the pin, in pixels.

##### Returns:

The canvas element or a Promise to the canvas element that represents the generated pin.

#### fromText(text, color, size) → Canvas
Core/PinBuilder.js 108

Creates a pin with the specified text, color, and size. The text will be sized to be as large as possible while still being contained completely within the pin.

Name | Type | Description
--- | --- | ---
`text` | String | The text to be stamped onto the pin.
`color` | Color | The color of the pin.
`size` | Number | The size of the pin, in pixels.

##### Returns:

The canvas element that represents the generated pin.

#### fromUrl(url, color, size) → Canvas|Promise.<Canvas>
Core/PinBuilder.js 61

Creates a pin with the specified icon, color, and size.

Name | Type | Description
--- | --- | ---
`url` | Resource | String | The url of the image to be stamped onto the pin.
`color` | Color | The color of the pin.
`size` | Number | The size of the pin, in pixels.

##### Returns:

The canvas element or a Promise to the canvas element that represents the generated pin.