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

# behavior.Ruler

Расширяет [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md).

Поведение "Линейка". Позволяет отмечать на карте точки и отображать расстояния между ними.

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
behavior.Ruler([options])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
||  [`options`](#param-options) | — | Тип: Object

Опции. ||
|| [`options.balloonAutoPan`](#param-options.balloonAutoPan) | true | Тип: Boolean

Нужно ли автопозиционирование карты при открытии балуна линейки. ||
|| [`options.balloonAutoPanUseMapMargin`](#param-options.balloonAutoPanUseMapMargin) | true | Тип: Boolean

Нужно ли учитывать отступы карты [map.margin.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/map.margin.Manager.md) при выполнении действия autoPan для балуна линейки. ||
|#

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [geometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/behavior.Ruler.md#geometry) | [geometry.LineString](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.LineString.md) | Геометрия поведения "Линейка". ||
|| [options](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options) | [IOptionManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOptionManager.md) | Менеджер опций.

Унаследовано от [ICustomizable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options). ||
|#

## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [disable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#event-disable) | Выключение поведения.

Унаследовано от [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#event-disable). ||
|| [enable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#event-enable) | Включение поведения.

Унаследовано от [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#event-enable). ||
|| [optionschange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange) | Изменение в опциях объекта.

Унаследовано от [ICustomizable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange). ||
|| [parentchange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange) | Сменился родительский объект.

Поля данных:

- oldParent - старый родитель;
- newParent - новый родитель.

Унаследовано от [IChild](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange). ||
|#

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [close](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/behavior.Ruler.md#close)() | Boolean | Удаляет все точки линейки. Если текущее количество точек больше двух, то будет выведен запрос на подтверждение действия. ||
|| [disable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#disable)() | | Выключает поведение.

Унаследован от [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#disable). ||
|| [enable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#enable)() | | Включает поведение.

Унаследован от [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#enable). ||
|| [getParent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#getParent)() | [IParentOnMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md)\|null | Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

Унаследован от [IChildOnMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#getParent). ||
|| [getState](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/behavior.Ruler.md#getState)() | String | Состояние линейки описывается строкой, состоящей из последовательностей, разделяемых символом "~". Каждая последовательность представляет собой подстроку вида "долгота,широта" и описывает приращение координат относительно предыдущей точки линейки. ||
|| [isEnabled](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#isEnabled)() | Boolean | Проверяет, включено ли поведение.

Унаследован от [IBehavior](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBehavior.md#isEnabled). ||
|| [setParent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent)([parent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent-param-parent)) | [IChildOnMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md) | Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

Унаследован от [IChildOnMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent). ||
|| [setState](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/behavior.Ruler.md#setState)([state](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/behavior.Ruler.md#setState-param-state)) | | Восстанавливает состояние линейки из закодированной строки. Смотрите behavior.Ruler.getState. ||
|#

## Описание полей {#field_detail}

### geometry {#geometry}

```javascript
{geometry.LineString} geometry
```

Геометрия поведения "Линейка".

**Пример:**

```javascript
// Задаем координаты первой точки линейки.
myMap.behaviors.get('ruler').geometry.set(0, [0, 0]);
```
## Описание методов {#method_detail}

### close {#close}

```javascript
{Boolean} close()
```

Удаляет все точки линейки. Если текущее количество точек больше двух, то будет выведен запрос на подтверждение действия.

**Возвращает** true, если действие произведено успешно.

### getState {#getState}

```javascript
{String} getState()
```

Состояние линейки описывается строкой, состоящей из последовательностей, разделяемых символом "~". Каждая последовательность представляет собой подстроку вида "долгота,широта" и описывает приращение координат относительно предыдущей точки линейки.

**Возвращает** текущее состояние линейки в закодированном виде.

### setState {#setState}

```javascript
{} setState(state)
```

Восстанавливает состояние линейки из закодированной строки. Смотрите behavior.Ruler.getState.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
||  [`state`](#setState-param-state)[*](*star) | — | Тип: String

Закодированное состояние линейки. ||
|#


\* Обязательный параметр/опция.


<!-- XLIFF_FARM_ZTc0N2Iw_CACHING -->

[*star]: Обязательный параметр.