КЛАДР в облаке

Простой и удобный сервиc для работы с базой адресов

.NET provider


Автор

Антон Губаренко

Описание

Представляет собой DLL, которую можно подключить в References для осуществления поиска aдреса в Кладр.

Использование

  • Скопировать KladrApiClient.dll и Newtonsoft.Json.Net20.dll в папку с Вашим проектом (или сделать свою сборку с помощью исходниклв в папке Sources)
  • Добавить их в References
  • Указать using KladrApiClient; в классе
  • Создать объект класса KladrClient
  • Осуществить поиск с помощью метода FindAddress, которые принимает параметры запроса в формате Dictionary

Список возможных параметров:
  • token – токен для доступа к сервису
  • key – ключ для доступа к сервису
  • regionId – код родительского региона
  • districtId – код района
  • cityId – код города
  • streetId – код улицы
  • buildingId – код строения
  • query – строка для поиска по названию
  • contentType – тип объекта для поиска
  • withParent – вернуть объекты вместе с родителями, если 1 то в каждый объект будет добавлено поле parents содержащее список объектов-родителей объекта
  • limit – ограничение количества возвращаемых объектов, по умолчанию = 2000

Пример

using KladrApiClient; 
using System; 
using System.Collections.Generic; 
using System.Windows;

public partial class MainWindow : Window
{
    private KladrClient kladrClient;
    public MainWindow()
    {
        InitializeComponent();
        kladrClient = new KladrClient("some_token", "some_key");
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        kladrClient.FindAddress(new Dictionary<string, string>
                                    {
                                        {"query", "Арх"},
                                        {"contentType", "city"},
                                        {"withParent", "1"},
                                        {"limit", "2"}
                                    }, fetchedAddress);
    }

    private void fetchedAddress(KladrResponse response)
    {
        if(response!=null)
        {
            if (response.result != null && response.InfoMessage.Equals("OK"))
                MessageBox.Show(string.Format("Found {0} results", response.result.Length));
        }
    }
}