是否有任何服务返回给定城市/州的邮政编码?

Posted

技术标签:

【中文标题】是否有任何服务返回给定城市/州的邮政编码?【英文标题】:Is there any service returning ZIP Codes on given city/satate? 【发布时间】:2010-01-05 07:37:33 【问题描述】:

是否有任何服务器可用于根据城市/州获取邮政编码?

谢谢

【问题讨论】:

【参考方案1】:

您可以使用geonamespostal code search。例如:

http://ws.geonames.org/postalCodeSearch?adminCode1=CA&placename=San+Francisco&maxRows=3

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<geonames>
<totalResultsCount>76</totalResultsCount>
<code>
<postalcode>94102</postalcode>
<name>San Francisco</name>
<countryCode>US</countryCode>
<lat>37.781334</lat>
<lng>-122.416728</lng>
<adminCode1>CA</adminCode1>

<adminName1>California</adminName1>
<adminCode2>075</adminCode2>
<adminName2>San Francisco</adminName2>
<adminCode3/>
<adminName3/>
</code>
<code>
<postalcode>94103</postalcode>
<name>San Francisco</name>
<countryCode>US</countryCode>
<lat>37.77254</lat>

<lng>-122.414664</lng>
<adminCode1>CA</adminCode1>
<adminName1>California</adminName1>
<adminCode2>075</adminCode2>
<adminName2>San Francisco</adminName2>
<adminCode3/>
<adminName3/>
</code>
<code>
<postalcode>94107</postalcode>
<name>San Francisco</name>

<countryCode>US</countryCode>
<lat>37.762147</lat>
<lng>-122.397099</lng>
<adminCode1>CA</adminCode1>
<adminName1>California</adminName1>
<adminCode2>075</adminCode2>
<adminName2>San Francisco</adminName2>
<adminCode3/>
<adminName3/>

</code>
</geonames>

【讨论】:

Chandra Patni,有任何使用地理定位(GPS)获取美国邮政编码的服务。目前我使用 google.com/maps api,当我改变我的位置时,它可以在任何地方准确地工作。【参考方案2】:

您可以使用美国邮政服务 HTTP/XML API

根据page on the US Postal Service website which documents their XML based web API,特别是this PDF document 的第 3.0 节(第 13 页),他们有一个 URL,您可以在其中发送包含地址减去邮政编码的 XML 请求,他们将使用包含完整地址。

但您不能只使用城市和州进行查找,因为单个城市可以包含多个邮政编码,因此您还需要传递街道地址。

根据他们的文档,您的请求如下所示:

GET http://SERVERNAME/ShippingAPITest.dll?API=ZipCodeLookup&XML=<ZipCodeLookupRequest%20USERID="xxxxxxx"><Address ID="0"><Address1></Address1> <Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State></Address></ZipCodeLookupRequest>

以下是您将收到的回复:

<?xml version="1.0"?> 
<ZipCodeLookupResponse> 
    <Address ID="0"> 
        <Address2>6406 IVY LN</Address2> 
        <City>GREENBELT</City> 
        <State>MD</State> 
        <Zip5>20770</Zip5> 
        <Zip4>1441</Zip4> 
    </Address> 
</ZipCodeLookupResponse>

USPS确实要求您在使用 API 之前向他们注册,但据我所知,访问是免费的。顺便说一句,他们的 API 还有一些其他功能:您可以进行地址标准化和邮政编码查找,以及一整套跟踪、运输、标签等。

【讨论】:

以上是关于是否有任何服务返回给定城市/州的邮政编码?的主要内容,如果未能解决你的问题,请参考以下文章

获取城市内所有邮政编码/邮政编码的好方法是啥?

无论如何,使用 Google API 可以获得一个州的所有城市,以及一个城市的所有城镇吗?

获取给定城市面积大小的 API?

邮政编码/城市多对多桥接表的最佳设计

谷歌地理编码服务返回虚假地址的响应

Python 无权访问此服务器/从 ZIP 返回城市/州