<iframe src="https://developers.devsite.google/frame/maps/documentation/javascript/reference/control_7df61e6364ffe8baeb306ab939011c8aec2ff5e69a853df6598842cc714b025e.frame" class="framebox inherit-locale redirect-iframe" allow="clipboard-write https://developers.devsite.google" allowfullscreen is-upgraded></iframe>

## [CameraControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#CameraControlOptions)
interface


interface
`google.maps.CameraControlOptions`

The display options for the Camera control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_START_BLOCK_END` Position id. Used to specify the position of the control on the map. |

## [FullscreenControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#FullscreenControlOptions)
interface


interface
`google.maps.FullscreenControlOptions`

Options for the rendering of the fullscreen control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_END_BLOCK_START` Position id. Used to specify the position of the control on the map. |

## [MapTypeControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#MapTypeControlOptions)
interface


interface
`google.maps.MapTypeControlOptions`

Options for the rendering of the map type control.

| ### Properties ||
|---|---|
| `mapTypeIds` optional | **Type:** `Array<MapTypeId|string> optional` IDs of map types to show in the control. |
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.BLOCK_START_INLINE_START` Position id. Used to specify the position of the control on the map. |
| `style` optional | **Type:** `MapTypeControlStyle optional` Style id. Used to select what style of map type control to display. |

## [MapTypeControlStyle](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#MapTypeControlStyle)
constants


constants
`google.maps.MapTypeControlStyle`

library `"maps"`

Identifiers for common MapTypesControls.

```javascript
const {MapTypeControlStyle} = await google.maps.importLibrary("maps");
```

| ### Constants ||
|---|---|
| `DEFAULT` | Uses the default map type control. When the `DEFAULT` control is shown, it will vary according to window size and other factors. The `DEFAULT` control may change in future versions of the API. |
| `DROPDOWN_MENU` | A dropdown menu for the screen realestate conscious. |
| `HORIZONTAL_BAR` | The standard horizontal radio buttons bar. |

## [MotionTrackingControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#MotionTrackingControlOptions)
interface


interface
`google.maps.MotionTrackingControlOptions`

Options for the rendering of the motion tracking control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_END_BLOCK_END` Position id. This is used to specify the position of this control on the panorama. |

## [PanControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#PanControlOptions)
interface


interface
`google.maps.PanControlOptions`

Options for the rendering of the pan control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_END_BLOCK_END` Position id. Used to specify the position of the control on the map. |

## [RotateControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#RotateControlOptions)
interface


interface
`google.maps.RotateControlOptions`

Options for the rendering of the rotate control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_END_BLOCK_END` Position id. Used to specify the position of the control on the map. |

## [ScaleControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#ScaleControlOptions)
interface


interface
`google.maps.ScaleControlOptions`

Options for the rendering of the scale control.

| ### Properties ||
|---|---|
| `style` optional | **Type:** `ScaleControlStyle optional` Style id. Used to select what style of scale control to display. |

## [ScaleControlStyle](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#ScaleControlStyle)
constants


constants
`google.maps.ScaleControlStyle`

Identifiers for scale control ids.

| ### Constants ||
|---|---|
| `DEFAULT` | The standard scale control. |

## [StreetViewControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#StreetViewControlOptions)
interface


interface
`google.maps.StreetViewControlOptions`

Options for the rendering of the Street View pegman control on the map.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` Position id. Used to specify the position of the control on the map. The default position is embedded within the navigation (zoom and pan) controls. If this position is empty or the same as that specified in the `zoomControlOptions` or `panControlOptions`, the Street View control will be displayed as part of the navigation controls. Otherwise, it will be displayed separately. |
| `sources` optional | **Type:** `Iterable<StreetViewSource> optional` **Default:** \[`StreetViewSource.DEFAULT`\] Specifies the sources of panoramas to search. This allows a restriction to search for just official Google panoramas for example. Setting multiple sources will be evaluated as the intersection of those sources. Note: the `StreetViewSource.OUTDOOR` source is not supported at this time. |

## [ZoomControlOptions](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#ZoomControlOptions)
interface


interface
`google.maps.ZoomControlOptions`

Options for the rendering of the zoom control.

| ### Properties ||
|---|---|
| `position` optional | **Type:** `ControlPosition optional` **Default:** `ControlPosition.INLINE_END_BLOCK_END` Position id. Used to specify the position of the control on the map. |

## [ControlPosition](https://developers.google.com/maps/documentation/javascript/reference/control.md.txt#ControlPosition)
constants


constants
`google.maps.ControlPosition`

library `"core"`

Identifiers used to specify the placement of controls on the map. Controls are positioned relative to other controls in the same layout position. Controls that are added first are positioned closer to the edge of the map. Usage of "logical values" (see <https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values>) is recommended in order to be able to automatically support both left-to-right (LTR) and right-to-left (RTL) layout contexts.  

Logical values in LTR:   

```
+---+ 
| BSIS BSIC BSIE | 
| ISBS      IEBS | 
|                | 
| ISBC      IEBC | 
|                | 
| ISBE      IEBE | 
| BEIS BEIC BEIE | 
+---+
```

Logical values in RTL:  

```
+---+ 
| BSIE BSIC BSIS | 
| IEBS      ISBS | 
|                | 
| IEBC      ISBC | 
|                | 
| IEBE      ISBE | 
| BEIE BEIC BEIS | 
+---+
```

Legacy values:  

```
+---+ 
| TL    TC    TR | 
| LT          RT | 
|                | 
| LC          RC | 
|                | 
| LB          RB | 
| BL    BC    BR | 
+---+
```

Elements in the top or bottom row flow towards the middle of the row. Elements in the left or right column flow towards the middle of the column.

<br />

```javascript
const {ControlPosition} = await google.maps.importLibrary("core");
```

| ### Constants ||
|---|---|
| `BLOCK_END_INLINE_CENTER` | Equivalent to BOTTOM_CENTER in both LTR and RTL. |
| `BLOCK_END_INLINE_END` | Equivalent to BOTTOM_RIGHT in LTR, or BOTTOM_LEFT in RTL. |
| `BLOCK_END_INLINE_START` | Equivalent to BOTTOM_LEFT in LTR, or BOTTOM_RIGHT in RTL. |
| `BLOCK_START_INLINE_CENTER` | Equivalent to TOP_CENTER in both LTR and RTL. |
| `BLOCK_START_INLINE_END` | Equivalent to TOP_RIGHT in LTR, or TOP_LEFT in RTL. |
| `BLOCK_START_INLINE_START` | Equivalent to TOP_LEFT in LTR, or TOP_RIGHT in RTL. |
| `BOTTOM_CENTER` | Elements are positioned in the center of the bottom row. Consider using BLOCK_END_INLINE_CENTER instead. |
| `BOTTOM_LEFT` | Elements are positioned in the bottom left and flow towards the middle. Elements are positioned to the right of the Google logo. Consider using BLOCK_END_INLINE_START instead. |
| `BOTTOM_RIGHT` | Elements are positioned in the bottom right and flow towards the middle. Elements are positioned to the left of the copyrights. Consider using BLOCK_END_INLINE_END instead. |
| `INLINE_END_BLOCK_CENTER` | Equivalent to RIGHT_CENTER in LTR, or LEFT_CENTER in RTL. |
| `INLINE_END_BLOCK_END` | Equivalent to RIGHT_BOTTOM in LTR, or LEFT_BOTTOM in RTL. |
| `INLINE_END_BLOCK_START` | Equivalent to RIGHT_TOP in LTR, or LEFT_TOP in RTL. |
| `INLINE_START_BLOCK_CENTER` | Equivalent to LEFT_CENTER in LTR, or RIGHT_CENTER in RTL. |
| `INLINE_START_BLOCK_END` | Equivalent to LEFT_BOTTOM in LTR, or RIGHT_BOTTOM in RTL. |
| `INLINE_START_BLOCK_START` | Equivalent to LEFT_TOP in LTR, or RIGHT_TOP in RTL. |
| `LEFT_BOTTOM` | Elements are positioned on the left, above bottom-left elements, and flow upwards. Consider using INLINE_START_BLOCK_END instead. |
| `LEFT_CENTER` | Elements are positioned in the center of the left side. Consider using INLINE_START_BLOCK_CENTER instead. |
| `LEFT_TOP` | Elements are positioned on the left, below top-left elements, and flow downwards. Consider using INLINE_START_BLOCK_START instead. |
| `RIGHT_BOTTOM` | Elements are positioned on the right, above bottom-right elements, and flow upwards. Consider using INLINE_END_BLOCK_END instead. |
| `RIGHT_CENTER` | Elements are positioned in the center of the right side. Consider using INLINE_END_BLOCK_CENTER instead. |
| `RIGHT_TOP` | Elements are positioned on the right, below top-right elements, and flow downwards. Consider using INLINE_END_BLOCK_START instead. |
| `TOP_CENTER` | Elements are positioned in the center of the top row. Consider using BLOCK_START_INLINE_CENTER instead. |
| `TOP_LEFT` | Elements are positioned in the top left and flow towards the middle. Consider using BLOCK_START_INLINE_START instead. |
| `TOP_RIGHT` | Elements are positioned in the top right and flow towards the middle. Consider using BLOCK_START_INLINE_END instead. |