---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IRoutePanel.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/en/llms.txt

# IRoutePanel

Extends [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md).

Interface for route panel.

[Constructor](#constructor-summary) | [Fields](#properties-summary) | [Events](#events-summary) | [Methods](#methods-summary)

## Constructor {#constructor-summary}

```javascript
IRoutePanel()
```

## Fields {#properties-summary}

#|
|| **Name** | **Type** | **Description** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md) | Event manager.

Inherited from [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [options](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#options) | [IOptionManager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IOptionManager.md) | Option manager. Names of options: 
- allowSwitch: Boolean = true - Whether button for switching way points should be shown.
- reverseGeocoding: Boolean = true - Whether reverse geocoding should be enabled during routing.
- adjustMapMargin: Boolean = false - Whether the panel registers its size in the map margins manager [map.margin.Manager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/map.margin.Manager.md).
- types: Object = { auto: true, masstransit: true, pedestrian: true, bicycle: true, taxi: false } - Specifies routing modes available for user to select in routing panel. When set, state.type is automatically adjusted, if current state.type becomes unavailable. Types are shown in panel only if two or more are available for user to select. Please note if you are using content security policy: in order to use type "taxi" you will need to update CSP rules to a [latest version](https://tech.yandex.com/maps/doc/jsapi/2.1/dg/concepts/load-docpage/#load__using-csp). ||
|| [state](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#state) | [IDataManager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IDataManager.md) | State manager. Names of states: 
- type: String - Routing type [IMultiRouteParams.routingMode](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IMultiRouteParams.md#routingMode).
- fromEnabled: Boolean - Enables the "from" field for users to enter the route origin.
- from: String - Address or coordinates of departure.
- toEnabled: Boolean - Enables the "to" field for users to enter the route destination.
- to: String - Address or coordinates of arrival. ||
|#

## Events {#events-summary}

#|
|| **Name** | **Description** ||
|| [disable](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#event-disable) | Route panel is unloaded. ||
|| [enable](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#event-enable) | Route panel and it's dependencies are loaded and ready for user interactions. ||
|#

## Methods {#methods-summary}

#|
|| **Name** | **Returns** | **Description** ||
|| [enable](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#enable)() | | Loads panel dependencies and enables it for usage. ||
|| [geolocate](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#geolocate)([name](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#geolocate-param-name)) | [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md) | Use user's geolocation as coordinates for 'from' or 'to'. ||
|| [getRoute](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#getRoute)() | [multiRouter.MultiRoute](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/multiRouter.MultiRoute.md) | 

{% note alert %}

This method is deprecated. See [IRoutePanel.getRouteAsync](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#getRouteAsync).

{% endnote %}

Returns built route. ||
|| [getRouteAsync](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#getRouteAsync)() | [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md).<[multiRouter.MultiRoute](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/multiRouter.MultiRoute.md)> | Returns [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md), which will be resolved with built route. If an error occurs, the promise object is rejected. ||
|| [isEnable](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#isEnable)() | Boolean | Returns whether panel is fully loaded. ||
|| [switchPoints](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#switchPoints)() | | Switches points (and corresponding inputs). ||
|#

## Fields details {#field_detail}

### options {#options}

```javascript
{IOptionManager} options
```

Option manager. Names of options: 
- allowSwitch: Boolean = true - Whether button for switching way points should be shown.
- reverseGeocoding: Boolean = true - Whether reverse geocoding should be enabled during routing.
- adjustMapMargin: Boolean = false - Whether the panel registers its size in the map margins manager [map.margin.Manager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/map.margin.Manager.md).
- types: Object = { auto: true, masstransit: true, pedestrian: true, bicycle: true, taxi: false } - Specifies routing modes available for user to select in routing panel. When set, state.type is automatically adjusted, if current state.type becomes unavailable. Types are shown in panel only if two or more are available for user to select. Please note if you are using content security policy: in order to use type "taxi" you will need to update CSP rules to a [latest version](https://tech.yandex.com/maps/doc/jsapi/2.1/dg/concepts/load-docpage/#load__using-csp).

### state {#state}

```javascript
{IDataManager} state
```

State manager. Names of states: 
- type: String - Routing type [IMultiRouteParams.routingMode](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IMultiRouteParams.md#routingMode).
- fromEnabled: Boolean - Enables the "from" field for users to enter the route origin.
- from: String - Address or coordinates of departure.
- toEnabled: Boolean - Enables the "to" field for users to enter the route destination.
- to: String - Address or coordinates of arrival.

## Events details {#event_detail}

### disable {#disable}

Route panel is unloaded.

### enable {#enable}

Route panel and it's dependencies are loaded and ready for user interactions.

## Methods details {#method_detail}

### enable {#enable}

```javascript
{} enable()
```

Loads panel dependencies and enables it for usage.

### geolocate {#geolocate}

```javascript
{vow.Promise} geolocate(name)
```

Use user's geolocation as coordinates for 'from' or 'to'.

**Returns** Promise object. See [geolocation](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/geolocation.md).

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`name`](#geolocate-param-name)[*](*star) | — | Type: String

Input to geolocate. Either 'from' or 'to'. ||
|#

\* Mandatory parameter/option.

### getRoute {#getRoute}

```javascript
{multiRouter.MultiRoute} getRoute()
```

**This method is deprecated. **See [IRoutePanel.getRouteAsync](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IRoutePanel.md#getRouteAsync).

**Returns** built route.

### getRouteAsync {#getRouteAsync}

```javascript
{vow.Promise.<multiRouter.MultiRoute>} getRouteAsync()
```

Returns [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md) which:

- will be **resolved** with: <[multiRouter.MultiRoute](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/multiRouter.MultiRoute.md)> — built route;
- either **rejected** with an error.

### isEnable {#isEnable}

```javascript
{Boolean} isEnable()
```

**Returns** whether panel is fully loaded.

### switchPoints {#switchPoints}

```javascript
{} switchPoints()
```

Switches points (and corresponding inputs).

[*star]: Mandatory parameter/option.