|
| ||||||||||||||||||||||
|
|
← Ctrl предыдущаяследующая Ctrl →
Ответ геокодераОтвет геокодера может быть возвращен в следующих форматах: Оба формата имеют одинаковую структуру, а возвращаемые результаты абсолютно одинаковы. В случае XML-выдачи результаты представлены в виде XML-элементов. При использовании JSON используются пары «ключ»:«значение», заключенные в фигурные скобки, и группировка с помощью массивов — квадратные скобки. Название XML-элемента совпадает с соответствующем ключом в JSON-выдаче. Если производилось прямое геокодирование (по адресу и/или названию определялись координаты), то результаты упорядочиваются по степени схожести с адресом или названием, указанном в запросе, а не по географической близости к первому выведенному объекту. В случае обратного геокодирования (по координатам определялся адрес), результаты упорядочиваются по величине геометрической области, к которой относится объект, в обратном порядке (дом, улица, район, город, и т. д.). Ответ в формате XMLОтвет геокодера по умолчанию возвращается в формате XML. Рассмотрим XML-ответ сервиса на запрос с адресом здания московского кинотеатра Октябрь на Новом Арбате: Ответ: Ответ геокодера представляет собой документ в формате YMapsML, удовлетворяющий XML-схеме http://maps.yandex.ru/geocoder/1.x. В элементе GeocoderResponseMetaData содержится информация о запросе и количестве найденных результатов, а в элементе GeocoderMetaData - текст запроса, тип найденного объекта, точность соответствия результата запросу и подробный почтовый адрес объекта. Координаты центра объекта содержатся в элементе Point, а в элементе boundedBy – границы области, внутри которой объект рекомендуется показать на карте. Для большинства объектов область показа задается прямоугольником, описанным вокруг объекта. Ответ в формате JSONЧтобы получить ответ в формате JSON, необходимо присвоить параметру format значение json: В этом случае ответ геокодера будет выглядеть следующим образом: Ответ: JSONPПолитика безопасности современных браузеров не позволяет веб-страницам загружать данные со сторонних серверов. Под сторонним подразумевается сервер, доменное имя которого отличается от доменного имени сервера, на котором находится страница. Если необходимо сформировать страницу, запрашивающую результаты геокодирования, следует воспользоваться технологией JSONP. При использовании JSONP серверу, возвращающему данные, передается имя функции, и результат возвращается в виде объекта JSON, но в качестве параметра функции с указанным именем. Чтобы получить результаты поиска в виде JSONP, необходимо присвоить параметру callback имя функции, которая будет обрабатывать возвращенные в формате JSON результаты. Так, по запросу будет возвращен JSON-объект из предыдущего примера, но в виде аргумента функции my_function: |
| Работайте в Яндексе |
© 2008—2012 «Яндекс»
|