YMaps.Metro.Closest

Расширяет YMaps.GeoObjectCollection.

Класс для обработки запросов на поиск ближайших станций метро.

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

Результатом работы поиска является коллекция объектов типа YMaps.Metro.Station, упорядоченная по возрастанию расстояния до переданной точки.

Конструктор

Имя Описание
YMaps.Metro.Closest(request, options)

Производит поиск ближайших станций метро.

Поля

Имя Описание
Events Список событий класса.
found Количество найденных по запросу результатов.
prefLang

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

request Запрос в виде геоточки.

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

Из YMaps.IGeoObject:
description, id, metaDataProperty, name

События

Имя Описание
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.Metro.Closest(request, options)

Производит поиск ближайших станций метро.

Пример:

// Найдем ближайшую к точке (37.588162, 55.733797) станцию метро
// и покажем ее на карте.
var metro = new YMaps.Metro.Closest(new YMaps.GeoPoint.(37.588162,55.733797), { results: 1 });
YMaps.Events.observe(metro, metro.Events.Load, function () {
    if (this.length()) {
        map.addOverlay(this.get(0));
        map.panTo(this.get(0).getGeoPoint())
    } else {
        alert("Ничего не найдено")
    }
});
YMaps.Events.observe(metro, metro.Events.Fault, function (metro, errorMessage) {
    alert("Произошла ошибка: " + errorMessage)
});

Параметры:

Имя Тип Необязательный По умолчанию Описание
request YMaps.GeoPoint Геоточка, ближайшие к которой станции метро требуется найти. Для определения координат точки по адресу воспользуйтесь геокодером YMaps.Geocoder.
options Object Опции запроса.
options.span YMaps.Bounds new YMaps.Size(0.1, 0.1) Размеры области (в градусах), внутри которой требуется искать станции метро. Максимальный размер области - 1х1 градус.
options.results Integer Количество возвращаемых результатов (не более).
options.skip Integer Пропустить первые n результатов.
options.prefLang String

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

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

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

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

Подробное описание полей

Events

Object Events

Список событий класса.

found

Integer found

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

prefLang

String prefLang

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

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

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

request

Запрос в виде геоточки.

Подробное описание событий

Fault

Fault

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

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

  • ссылка на себя;
  • строка с описанием ошибки.

Load

Load

Поиск ближайших станций метро закончен.

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