Автодополнение адреса для сайта, новые возможности

У сервиса «КЛАДР в облаке» большое обновление. В данной статье я хочу рассказать об обновлении наиболее близкой к большинству пользователей части этого сервиса, а именно о jQuery плагине. Кому интересно, добро пожаловать под кат.jQuery Kladr примерНовая версия сервиса включает в себя несколько дополнительных возможностей, которые были так же отражены в плагине. Рассмотрим их подробнее.

Начнём наверно с самого важного и долгожданного обновления: поддержки ввода адреса одной строкой. Теперь для подключения этой возможности к полю ввода достаточно написать следующий код:

$('input').kladr ({ oneString: true });

// Выводить только московские адреса $('input').kladr ({ oneString: true, parentType: $.kladr.type.city, parentId: '7700000000000' // Москва }); Посмотреть пример можно по ссылке.Помимо этого мы реализовали фильтрацию населённых пунктов по типу (город, посёлок, село). Сейчас список предлагаемых населённых пунктов можно ограничить с помощью параметра typeCode плагина:

// Только города $('input').kladr ({ type: $.kladr.type.city, typeCode: $.kladr.typeCode.city });

// Города и посёлки $('input').kladr ({ type: $.kladr.type.city, typeCode: $.kladr.typeCode.city + $.kladr.typeCode.settlement });

// Все населённые пункты $('input').kladr ({ type: $.kladr.type.city }); Посмотреть пример с использованием typeCode можно на сайте.Ну и последней новой возможностью сервиса является поиск по почтовому индексу. Специально для неё был реализован плагин kladrZip. Он проверяет корректность введённого почтового индекса и если ему соответствует реальный адрес подставляет объекты этого адреса в другие поля формы. Звучит не очень понятно, согласен, лучше 1 раз увидеть. Подключается же плагин очень просто:

$('input').kladrZip (); Это первая версия kladrZip, поэтому он практически не принимает параметров. В дальнейшем плагин будет дорабатываться.На этом новые возможности сервиса, отражённые в jQuery плагине, закончились. Но это ещё не всё. Сам плагин был полностью переработан для того, чтобы сделать автодополнение адреса ещё удобнее для пользователя и менее трудоёмко для разработчика. Перечислю вкратце новые возможности:

Добавлен параметр parentInput, значительно упрощающий создание формы для ввода адреса из нескольких полей; Добавлена функция $.kladr.setDefault, позволяющая изменять параметры по умолчанию плагина; Добавлена функция $.kladr.getInputs, позволяющая получить массив всех полей, к которым был подключён плагин; Добавлена функция $.kladr.getAddress, собирающая строку адреса. В примере формы с картой наверно наиболее наглядно продемонстрировано применение этих возможностей. Исходный код этого примера можно посмотреть на гитхабе.Исходный код плагина https://github.com/garakh/kladrapi-jsclient.

Сообщить о баге можно: на гитхабе github.com/garakh/kladrapi-jsclient/issuesв trello trello.com/b/NlSSs2UV/-в отзывах kladrapi.reformal.ru/или в комментариях к статье =)

© Habrahabr.ru