|
| ||||||||||||||||||||||
|
|
← Ctrl предыдущаяследующая Ctrl →
ГеокодированиеКласс YMaps.Geocoder позволяет отправлять запросы геокодеру, получать информацию о статусе и результате процесса геокодирования, а также получать результаты геокодирования в виде меток. Конструктор класса принимает два параметра:
![]() Для повышения релевантности поиска геокодируемых объектов рекомендуется при запросе к геокодеру ограничивать область поиска с помощью параметра boundedBy. Параметр strictBounds включает/выключает ограниченный поиск. Чтобы определить координаты объекта, создайте экземпляр класса YMaps.Geocoder и передайте ему в качестве параметра строку с адресом объекта. В примере ниже производится поиск всех объектов с названием "Москва": В результате исполнения примера, переменная geocoder будет содержать результаты поиска в виде группы специальных меток класса YMaps.GeocoderResult. Эти метки отличаются от обычных меток класса YMaps.Placemark наличием четырех дополнительных полей, в которых передаются дополнительные сведения о найденном объекте:
Класс YMaps.GeocoderResult реализует интерфейс YMaps.IOverlay, поэтому метки YMaps.GeocoderResult можно добавлять на карту точно так же, как и обычные. Для обработки результатов геокодирования необходимо учитывать, что геокодеру требуется время на обработку запроса и ответ. Поэтому рекомендуется всегда использовать обработчики событий для получения информации об окончании геокодирования и о его текущем статусе. В классе YMaps.Geocoder предусмотрено два события: Load (геокодирование прошло без ошибок) и Fault (с ошибками). В обработчике события Load можно оперировать результатами геокодирования как группой. Подробнее о работе с группами см. Группировка объектов. Пример ниже иллюстрирует обработку событий геокодера. В случае успешного геокодирования пользователю карты будет показано сообщение о количестве найденных объектов, а самый релевантный (первый) из них будет показан на карте: Параметр prefLang геокодера дает возможность контролировать язык результатов поиска. Этот параметр позволяюет задать предпочтительный язык, на котором будет производиться выдача результатов геокодирования. Код языка указывается в соответствии со стандартом ISO 639. Список возможных значений:
Если установить параметр prefLang в значение “uk”, то в результате поиска адреса «киев, площадь независимости» будет получен результат – «київ майдан незалежності». Обратное геокодированиеОбъект YMaps.Geocoder поддерживает обратное геокодирование, с помощью которого можно преобразовывать координаты объекта в почтовый адрес. Для обратного геокодирования в параметре request требуется передать вместо адреса геоточку (YMaps.GeoPoint). Пример ниже производит обратное геокодирование координат здания Цетрального телеграфа в Москве и получает его адрес: Результаты поиска, как и в случае с прямым геокодированием, возвращаются в виде группы меток класса YMaps.GeocoderResult, которые сразу можно нанести на карту. В качестве дополнения, в разделе Примеры узнайте, как создать аналог инструмента "Информация", размещенного на странице maps.yandex.ru. |
| Работайте в Яндексе |
© 2008—2012 «Яндекс»
|