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

# YMaps.Geocoder

{% note alert %}

Геокодирование доступно только в актуальных версиях API. 
[Как перейти на API 2.1](https://yandex.ru/dev/maps/jsapi/doc/2.1/upgrade/index.html)

{% endnote %}


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

Класс для обработки запросов геокодирования. По умолчанию возвращает результат геокодирования в виде группы объектов класса [YMaps.GeocoderResult](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/geocoderresult.md). В общем случае содержимым группы являются результаты, возвращаемые указанным в опции geocodeProvider сервисом геокодирования.

**См.:** [Геокодирование](https://yandex.ru/dev/jsapi-v1-1/doc/ru/dg/concepts/geocoder.md)

## Конструктор

Имя | Описание
----- | -----
[YMaps.Geocoder](geocoder.md#constructor)(request, options) | Производит прямое (или обратное) геокодирование запроса.

## Поля

Имя | Описание
----- | -----
[Events](geocoder.md#Events) | Список событий класса.
[found](geocoder.md#found) | Количество найденных по запросу результатов.
[geocodeProvider](geocoder.md#geocodeProvider) | Используемый сервис геокодирования.
[prefLang](geocoder.md#prefLang) | Предпочитаемый язык ответа.
[request](geocoder.md#request) | Текст запроса.
[suggest](geocoder.md#suggest) | Если адрес был скорректирован сервисом исправления опечаток, то данное поле будет содержать исправленный вариант.

## Наследуемые поля

Из [YMaps.IGeoObject](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md): 
: [description](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#description), [id](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#id), [metaDataProperty](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#metaDataProperty), [name](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#name)

## События

Имя | Описание
----- | -----
[Fault](geocoder.md#event-Fault) | При выполнении геокодирования произошла ошибка.
[Load](geocoder.md#event-Load) | Геокодирование закончено.

## Наследуемые события

Из [YMaps.Group](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md): 
: [Add](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#event-Add), [Remove](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#event-Remove)
## Наследуемые методы

Из [YMaps.OverlayGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md): 
: [getMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md#getMap), [getParentContainer](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md#getParentContainer)

Из [YMaps.Group](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md): 
: [add](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#add), [filter](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#filter), [forEach](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#forEach), [get](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#get), [indexOf](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#indexOf), [length](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#length), [remove](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#remove), [removeAll](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#removeAll), [splice](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#splice)

Из [YMaps.IOverlay](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md): 
: [onAddToMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onAddToMap), [onMapUpdate](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onMapUpdate), [onRemoveFromMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onRemoveFromMap)

Из [YMaps.IGeoObject](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md): 
: [getBounds](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getBounds), [getComputedStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getComputedStyle), [getParentGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getParentGroup), [getStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getStyle), [onAddToGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#onAddToGroup), [onRemoveFromGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#onRemoveFromGroup), [setBounds](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#setBounds), [setStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#setStyle), [update](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#update)

## Подробное описание конструктора {#constructor}

```javascript
YMaps.Geocoder(request, options)
```

Производит прямое (или обратное) геокодирование запроса.

Если запрос содержит адрес, то производится прямое геокодирование (адрес --> координаты). Если запрос содержит геоточку, то производится обратное геокодирование (координаты --> адрес).

И прямое, и обратное геокодирование производится асинхронно, поэтому для получения информации об окончании процесса и о его статусе используйте обработчики событий геокодера YMaps.Geocoder.Load и YMaps.Geocoder.Fault.

**См.:** [Геокодирование](https://yandex.ru/dev/jsapi-v1-1/doc/ru/dg/concepts/geocoder.md)

**Пример:**

```javascript
// Осуществляет поиск одного объекта с именем "Москва", начиная с видимой области карты.
// Полученный результат сразу отображается на карте.
map.addOverlay(new YMaps.Geocoder("Москва", {results: 1, boundedBy: map.getBounds()}));

// искать все объекты с именем Москва, но вывести только первый
var geocoder = new YMaps.Geocoder("Москва");
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    if (this.length()) {
        alert("Найдено :" + this.length());
        map.addOverlay(this.get(0));
        map.panTo(this.get(0).getGeoPoint())
    } else {
        alert("Ничего не найдено"); 
    }
})
YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, errorMessage) {
    alert("Произошла ошибка: " + errorMessage)
});
```

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

#|
|| **Имя** | **Тип** | **Необязательный** | **По умолчанию** | **Описание** ||
||`request` | String\|[YMaps.GeoPoint](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/geopoint.md) |  |  | Запрос на геокодирование. Если запрос содержит адрес, то производится прямое геокодирование адреса в координаты. Если геоточку, то производится обратное геокодирование координат в ближайший адрес.||
||`options` | Object | ![](../_images/check.png) |  | Параметры геокодирования. ||
||`options.geocodeProvider` | String\|[YMaps.IGeocodeProvider](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeocodeprovider.md) | ![](../_images/check.png) | "yandex#map" | Использовать заданный сервис геокодирования.||
||`options.boundedBy` | [YMaps.GeoBounds](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/geobounds.md) | ![](../_images/check.png) |  | Прямоугольная область на карте, где предположительно находится искомый объект.||
||`options.strictBounds` | Boolean | ![](../_images/check.png) | false | Искать только внутри области, заданной опцией boundedBy.||
||`options.results` | Integer | ![](../_images/check.png) |  | Количество возвращаемых результатов (не более).||
||`options.skip` | Integer | ![](../_images/check.png) |  | Пропустить первые n результатов.||
||`options.kind` | String | ![](../_images/check.png) |  | Вид топонима (только для обратного геокодирования).

Список возможных значений:

- house - дом;
- street - улица;
- metro - станция метро;
- locality - населённый пункт (город/поселок/деревня/село/...).||
||`options.prefLang` | String | ![](../_images/check.png) |  | Предпочитаемый язык ответа.

Этот параметр не влияет на процедуру поиска, а только изменяет описания результатов: описание объекта отдается на предпочитаемом языке, если оно доступно.

Список возможных значений:

- ru - русский;
- uk - украинский;
- be - белорусский.
|#

## Подробное описание полей {#field_detail}


### Events {#Events}

```javascript
Object Events
```

Список событий класса.
### found {#found}

```javascript
Integer found
```

Количество найденных по запросу результатов.
### geocodeProvider {#geocodeProvider}

```javascript
YMaps.IGeocodeProvider geocodeProvider
```

Используемый сервис геокодирования.
### prefLang {#prefLang}

```javascript
String prefLang
```

Предпочитаемый язык ответа.

Список возможных значений:

- ru - русский;
- uk - украинский;
- be - белорусский.
### request {#request}

```javascript
String request
```

Текст запроса.
### suggest {#suggest}

```javascript
String suggest
```

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

**Пример:**

```javascript
// Запрос с опечаткой и полученный от геокодера исправленный вариант.
request: Сомакатная
suggest: С<fix>а</fix>м<fix>о</fix>катная
```
## Подробное описание событий {#event_detail}

### Fault {#Fault}

```javascript
Fault
```

При выполнении геокодирования произошла ошибка.

В callback-функцию передаются два аргумента:

- ссылка на себя;
- строка с описанием ошибки.
### Load {#Load}

```javascript
Load
```

Геокодирование закончено.

В callback-функцию передается ссылка на себя.

**Пример:**

```javascript
//
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (param) {
    geocoder == param; // true
}
```
