В API Яндекс.Карт существовал сервис геокодирования – определения географических координат объекта по его адресу.
17 сентября 2009 года вышла новая версия API Яндекс.Карт 1.1.4.
В этой версии в класс YMaps.Geocoder добвалена возможность обратного геокодирования — получение адреса объекта по его координатам.
Я подготовил небольшой пример использования данной возможности.
По клику на объект карты появляется балун метки которой содержится адрес данного объекта, полученный в результате обратного геокодирования.
Привожу его код:
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==" type="text/javascript"><!--mce:0--></script> <script type="text/javascript"><!--mce:1--></script> |
При клике по карте вызывается функция обработки события YMaps.Events.observe и в геокодер передаются координаты точки, в которой был произведен щелчек — mEvent.getGeoPoint().
После этого мы выводим результат геокодирования на карту в виде метки с открытым балуном при успешном исходе или сообщение Ничего не найдено.
Посмотреть пример в действии можно здесь.
Прочитать подробнее о геокодировании можно по адресу http://api.yandex.ru/maps/jsapi/doc/dg/concepts/geocoder.xml