| | YMaps.Geocoder
Расширяет
YMaps.GeoObjectCollection
. Класс для обработки запросов геокодирования. По умолчанию возвращает результат геокодирования в виде группы объектов класса
YMaps.GeocoderResult
. В общем случае содержимым группы являются результаты, возвращаемые указанным в опции geocodeProvider сервисом геокодирования. См.: Геокодирование
Конструктор
| Имя |
Описание |
|
YMaps.Geocoder
(request, options) |
Производит прямое (или обратное) геокодирование запроса.
|
Поля
| Имя |
Описание |
|
Events
|
Список событий класса. |
|
found
|
Количество найденных по запросу результатов. |
|
geocodeProvider
|
Используемый сервис геокодирования. |
|
prefLang
|
Предпочитаемый язык ответа.
|
|
request
|
Текст запроса. |
|
suggest
|
Если адрес был скорректирован сервисом исправления опечаток,
то данное поле будет содержать исправленный вариант.
|
События
| Имя |
Описание |
|
Fault
|
При выполнении геокодирования произошла ошибка.
|
|
Load
|
Геокодирование закончено.
|
Наследуемые методы
- Из
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)
});
Параметры:
Подробное описание полей
Events
Список событий класса.
found
Количество найденных по запросу результатов.
geocodeProvider
Используемый сервис геокодирования.
prefLang
Предпочитаемый язык ответа.
Список возможных значений:
- ru - русский;
- uk - украинский;
- be - белорусский.
suggest
Если адрес был скорректирован сервисом исправления опечаток,
то данное поле будет содержать исправленный вариант.
Пример:
// Запрос с опечаткой и полученный от геокодера исправленный вариант.
request: Сомакатная
suggest: С<fix>а</fix>м<fix>о</fix>катная
Подробное описание событий
Fault
При выполнении геокодирования произошла ошибка.
В callback-функцию передаются два аргумента:
- ссылка на себя;
- строка с описанием ошибки.
Load
Геокодирование закончено.
В callback-функцию передается ссылка на себя.
Пример:
//
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (param) {
geocoder == param; // true
}
| |