Получить название места, указав почтовые индексы - PullRequest
2 голосов
/ 01 июня 2011

Мне нужно отобразить местоположение и название города, когда пользователь вводит почтовый индекс. Как мне получить соответствующие названия локаций?

Ответы [ 5 ]

3 голосов
/ 01 июня 2011

Попробуйте API почтового индекса USPS - http://www.usps.com/webtools/welcome.htm

3 голосов
/ 01 июня 2011

Я бы использовал такой веб-сайт, как

http://www.zipinfo.com/search/zipcode.htm

и просто отправил бы на него почтовый индекс, получил бы ввод, проанализировал название города, просто так.

1 голос
/ 01 июня 2011

Вы можете использовать веб-сервис геокодирования PlaceFinder для выполнения запросов на основе REST с использованием почтового кода, который вы хотите разрешить в имя.Сервис поддерживает форматы ответов XML и JSON .Вот список элементов ответа , возвращаемых службой.

Используя .NET, вы могли бы использовать классы клиента или запроса / ответа в System.Net Пространство имен для отправки запроса в службу и обработки ответа.

0 голосов
/ 24 января 2012

Я работаю в сфере проверки адресов в компании под названием SmartyStreets . Представленные здесь решения являются функциональными по-разному, но остерегайтесь их ограничений и особенностей. Например, сервис Yahoo больше похож на адрес предложение , а не проверка . Веб-служба USPS весьма ограничена в результатах, которые она возвращает, например: вы не получите данные об округе и компонентах адреса, фактической доставляемости и т. Д.

Для более гибкого и бесплатного решения - могу ли я предложить наш LiveAddress API ? Это конечная точка REST, которая с учетом уличного адреса (например) и почтового индекса будет полностью и точно заполнять весь адрес.

0 голосов
/ 01 июня 2011

Самый простой способ - использовать строки. В качестве альтернативы вы можете создать класс ZIP, если вы хотите стать модным.

using System;
using System.Collections.Generic;

class Program
{
    // declare your variable
    private static Dictionary<string, string> zipLookup;

    public static void CreateZips()
    {
        zipLookup = new Dictionary<string, string>();
        zipLookup.Add("90210", "Beverly Hills");
        // fill all other values, probably from a db
    }

    static void Main(string[] args)
    {
        CreateZips();

        var test  = "90210";

        if (zipLookup.ContainsKey(test))
        {
            Console.WriteLine(test.ToString() + "=" + zipLookup[test]);
        }
        else
        {
            Console.WriteLine(test.ToString() + " location unknown");
        }
    }
}

Для получения более подробной информации о почтовых индексах см. Википедию

...