Ваши комментарии
Такая улица есть в городе Клин, во всяком случае так считает ФИАС (справочник адресов налоговой), по которому работают Подсказки.
По поводу трехзначных номеров дома – это корректное поведение.
Подсказки работают по ФИАС, и в нем нет некоторых реально существующих домов. Поэтому мы предлагаем существующие дома, но не ограничиваем пользователя ими.
Примерно так:
function join(arr) { var separator = arguments.length > 1 ? arguments[1] : ', '; return arr.filter(function(n) { return n; }).join(separator); } function enableSuggestions(ui) { ui.address.suggestions({ serviceUrl: "https://dadata.ru/api/v2", token: "***", type: "ADDRESS", onSelect: showSelected }); function showSelected(suggestion) { var address = suggestion.data; ui.index.val(address.postal_code); ui.region.val(join([ join([address.region_type, address.region ], ' '), join([address.area_type, address.area ], ' ') ])); ui.city.val(join([ join([address.city_type, address.city ], ' '), join([address.settlement_type, address.settlement ], ' ') ])); ui.street.val(join([address.street_type, address.street ], ' ')); ui.house.val(join([ join([address.house_type, address.house ], ' '), join([address.block_type, address.block ], ' ') ])); ui.flat.val(join([address.flat_type, address.flat ], ' ')); } } enableSuggestions({ address: $("#otkuda"), index: $('#index1'), region: $('#region'), city: $('#city'), street: $('#street'), house: $('#house'), flat: $('#flat') });
Примерно так:
var parts = [$region, $city, $street]; parts.forEach(function($part) { $part.change(function() { onPartChange(formatParts(parts)); }); }); function join(arr) { var separator = " "; return arr.filter(function(n){return n;}).join(separator); } function formatParts(parts) { var partialValues = parts.map( function($el) { return $el.val(); } ); return join(partialValues); } function onPartChange(newVal) { suggestOne(newVal) .done(function(response) { var suggestion = response.suggestions[0]; $address.val(suggestion.value); }); } function suggestOne(query) { var serviceUrl = "https://dadata.ru/api/v2/suggest/address", token = "***", request = { "query": query }, params = { type: "POST", contentType: "application/json", headers: { "Authorization": "Token " + token }, data: JSON.stringify(request) }; return $.ajax(serviceUrl, params); }
Добрый день!
Зарегистрируйтесь, зайдите в Личный кабинет, и нажмите "Сгенерировать" около API-ключа
Сервис поддержки клиентов работает на платформе UserEcho
В 2015 не успели, будет в январе.