Ответы пользователя по тегу Яндекс.Карты
  • Обработка ответа геокодера яндекс карт. Как узнать название города и улицу?

    Вам именно через Яндекс надо?

    Мне, кстати, их реализация стандарта xAL показалась очень внятной. Населённый пункт — LocalityName (если есть вложенные типа Зеленограда, то в DependentLocality), а улица — ThoroughfareName.

    Если точка вне населённого пункта (LocalityName отсутствует), то можно найти ближайший с помощью параметра kind=locality. Аналогично находится ближайшая улица: kind=street. Внимание на разницу между двумя последними ссылками: «kind=street» выдаёт улицу вне населённого пункта «kind=locality». Просто Яндекс не знает названий улиц в ближайших деревнях, поэтому сообщил название шоссе (которое дальше, за деревнями). Это жизнь, и Яндекс-карты её хорошо отражают. Параметры я взял отсюда.

    Проблему с уровнями вложенности не очень понял. Во-первых, порядок элементов там всегда один и тот же. Во-вторых, если честно, я на вложенность и не смотрел, т.к. строка <LocalityName xml:lang="%s">%s</LocalityName> приходила ко мне всегда (максимум) одна, как и ThoroughfareName. Да простят меня сторонники тру-парсинга XML, я тупо искал эти две строчки (ну и другие ещё).

    Яндекс по России знает значительно больше населённых пунктов, чем Гугл, но с другими ГИС в промышленных масштабах не приходилось сравнивать.
    Ответ написан
    Комментировать