Есть ли хорошие веб-сервисы, которые предоставляют хорошую информацию о поиске для стран и штатов/провинций?
Если да, то какие из них вы используете?
Есть ли хорошие веб-сервисы, которые предоставляют хорошую информацию о поиске для стран и штатов/провинций?
Если да, то какие из них вы используете?
Если вам нужна только информация в США, Почтовая служба США предоставляет набор веб-сервисов, которые он вызывает WebTools для этой конкретной вещи. https://www.usps.com/business/web-tools-apis/welcome.htm. Вам нужно будет зарегистрироваться, чтобы иметь возможность их использовать, но как только вы зарегистрируетесь, они действительно просты в использовании. Вы просто отправляете XML-запрос через HTTP, и сервер отправляет ответ XML, и вам просто нужно его распаковать.
Пример запроса:
http://SERVERNAME/ShippingAPITest.dll?API=Verify&XML=<AddressValidateRequest%20USERID="xxxxxxx"><Address ID="0"><Address1></Address1><Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State><Zip5></Zip5><Zip4></Zip4></Address></AddressValidateRequest>
Пример ответа:
<?xml version="1.0"?>
<AddressValidateResponse>
<Address ID="0">
<Address2>6406 IVY LN</Address2>
<City>GREENBELT</City>
<State>MD</State>
<Zip5>20770</Zip5>
<Zip4>1441</Zip4>
</Address>
</AddressValidateResponse>
Здесь ссылка на техническую документацию: https://www.usps.com/business/web-tools-apis/documentation-updates.htm
Это лучшее, что я нашел. Они позволяют загружать и размещать веб-сервис самостоятельно, что тоже приятно.
Службы, которые хорошо работают с .Net(поскольку он использует WSDL), http://www.webservicex.net. У них есть служба для почтовых индексов США, доступных по адресу http://www.webservicex.net/uszip.asmx. Вы можете просто добавить его в качестве сервиса, а Visual Studio позаботится обо всем остальном. Ответ приходит как XML-ответ, поэтому вам придется его разобрать, но вы можете использовать что-то простое, например USZIP.GetInfoByZIP(ZIP).SelectSingleNode("//STATE").InnerText
.
Для моего приложения я затем построил кеш-память в памяти данных с использованием XML в следующих направлениях: http://www.15seconds.com/issue/010410.htm. Я использовал XML вместо HashTable
или Dictionary(TKey, TValue)
, потому что мне захотелось сериализовать его на строку, чтобы я мог сохранить "базу данных" в качестве пользовательской настройки.
Хорошим источником географических данных, включая поисковые и картографические данные для США, является Бюро переписи населения США Набор данных TIGER. Они больше не активно отслеживают данные Zip-кода, но у них есть 1999 vintage file по-прежнему доступны.
Для стран список кодов стран ISO доступен для общественности.
Я не знаю ресурсов для информации за пределами США.