16

是否有任何好的网络服务可以为国家和州/省提供良好的查找信息?

如果是这样,你用什么?

4

4 回答 4

14

http://www.geonames.org/

这是我找到的最好的。他们让您自己下载和托管网络服务,这也很好。

于 2008-09-26T19:19:51.643 回答
10

如果您只需要美国信息,美国邮政服务提供了一组 Web 服务,它为此确切地调用了 WebTools。 https://www.usps.com/business/web-tools-apis/welcome.htm。您需要注册才能使用它们,但是一旦您注册它们就非常易于使用。您只需通过 HTTP 发送一个 XML 请求,然后服务器返回一个 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

于 2008-09-23T13:57:46.693 回答
2

与 .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 而不是 a HashTableorDictionary(TKey, TValue)因为我希望能够将其序列化为字符串,以便可以将“数据库”保存为用户设置。

于 2011-09-27T02:07:20.353 回答
1

美国人口普查局的TIGER 数据集是一个很好的地理数据来源,包括美国的查找和地图数据。他们不再主动跟踪邮政编码数据,但他们确实有一个1999 年的老式文件仍然可用。

对于国家/地区,ISO 国家/地区代码列表是公开的。

我不知道美国以外的信息资源。

于 2008-09-23T14:05:15.303 回答