YMaps.Geocoder
Внимание
Геокодирование доступно только в актуальных версиях API.
Как перейти на API 2.1
Расширяет YMaps.GeoObjectCollection.
Класс для обработки запросов геокодирования. По умолчанию возвращает результат геокодирования в виде группы объектов класса YMaps.GeocoderResult. В общем случае содержимым группы являются результаты, возвращаемые указанным в опции geocodeProvider сервисом геокодирования.
См.: Геокодирование
Конструктор
Имя | Описание |
---|---|
YMaps.Geocoder(request, options) | Производит прямое (или обратное) геокодирование запроса. |
Поля
Имя | Описание |
---|---|
Events | Список событий класса. |
found | Количество найденных по запросу результатов. |
geocodeProvider | Используемый сервис геокодирования. |
prefLang | Предпочитаемый язык ответа. |
request | Текст запроса. |
suggest | Если адрес был скорректирован сервисом исправления опечаток, то данное поле будет содержать исправленный вариант. |
Наследуемые поля
События
Имя | Описание |
---|---|
Fault | При выполнении геокодирования произошла ошибка. |
Load | Геокодирование закончено. |
Наследуемые события
- Из YMaps.Group:
- Add, Remove
Наследуемые методы
- Из YMaps.OverlayGroup:
- getMap, getParentContainer
- Из YMaps.Group:
- add, filter, forEach, get, indexOf, length, remove, removeAll, splice
- Из YMaps.IOverlay:
- onAddToMap, onMapUpdate, onRemoveFromMap
- Из YMaps.IGeoObject:
- getBounds, getComputedStyle, getParentGroup, getStyle, onAddToGroup, onRemoveFromGroup, setBounds, setStyle, update
Подробное описание конструктора
YMaps.Geocoder(request, options)
Производит прямое (или обратное) геокодирование запроса.
Если запрос содержит адрес, то производится прямое геокодирование (адрес --> координаты). Если запрос содержит геоточку, то производится обратное геокодирование (координаты --> адрес).
И прямое, и обратное геокодирование производится асинхронно, поэтому для получения информации об окончании процесса и о его статусе используйте обработчики событий геокодера YMaps.Geocoder.Load и YMaps.Geocoder.Fault.
См.: Геокодирование
Пример:
// Осуществляет поиск одного объекта с именем "Москва", начиная с видимой области карты.
// Полученный результат сразу отображается на карте.
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)
});
Параметры:
Имя |
Тип |
Необязательный |
По умолчанию |
Описание |
|
String|YMaps.GeoPoint |
Запрос на геокодирование. Если запрос содержит адрес, то производится прямое геокодирование адреса в координаты. Если геоточку, то производится обратное геокодирование координат в ближайший адрес. |
||
|
Object |
Параметры геокодирования. |
||
|
String|YMaps.IGeocodeProvider |
"yandex#map" |
Использовать заданный сервис геокодирования. |
|
|
Прямоугольная область на карте, где предположительно находится искомый объект. |
|||
|
Boolean |
false |
Искать только внутри области, заданной опцией boundedBy. |
|
|
Integer |
Количество возвращаемых результатов (не более). |
||
|
Integer |
Пропустить первые n результатов. |
||
|
String |
Вид топонима (только для обратного геокодирования). Список возможных значений:
|
||
|
String |
Предпочитаемый язык ответа. Этот параметр не влияет на процедуру поиска, а только изменяет описания результатов: описание объекта отдается на предпочитаемом языке, если оно доступно. Список возможных значений:
|
Подробное описание полей
Events
Object Events
Список событий класса.
found
Integer found
Количество найденных по запросу результатов.
geocodeProvider
YMaps.IGeocodeProvider geocodeProvider
Используемый сервис геокодирования.
prefLang
String prefLang
Предпочитаемый язык ответа.
Список возможных значений:
- ru - русский;
- uk - украинский;
- be - белорусский.
request
String request
Текст запроса.
suggest
String suggest
Если адрес был скорректирован сервисом исправления опечаток, то данное поле будет содержать исправленный вариант.
Пример:
// Запрос с опечаткой и полученный от геокодера исправленный вариант.
request: Сомакатная
suggest: С<fix>а</fix>м<fix>о</fix>катная
Подробное описание событий
Fault
Fault
При выполнении геокодирования произошла ошибка.
В callback-функцию передаются два аргумента:
- ссылка на себя;
- строка с описанием ошибки.
Load
Load
Геокодирование закончено.
В callback-функцию передается ссылка на себя.
Пример:
//
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (param) {
geocoder == param; // true
}