是否有办法根据表单中的城市/州输入进行邮政编码查找?我认为Google地理编码API可能是正确的方向。有什么想法吗?我有一个基于Wordpress的网站,因此代码必须使用PHP。提前谢谢。
答案 0 :(得分:1)
地理编码是您找到地址坐标的地方。是的,你可以对一个城市进行地理编码,州,但这会让你成为城市的中心(由地理编码器的内部数据库定义 - 通常是质心或'市政厅'。
大多数城市都有多个邮政编码:您想要所有这些吗? 类似地,邮政编码可以包含多个城市 - 特别是在农村地区,邮政编码可能很大,城市是其他国家所谓的“村庄”和“村庄”
所以你最好的选择可能是获得一个数据库。可能会有一些免费的(Geonames浮现在脑海中,但我认为它没有邮政编码),但你最终可能不得不买一个。
答案 1 :(得分:1)
YQL可以做这样的事情:
select name from geo.places.children where parent_woeid in (select woeid from geo.places where text="sunnyvale, usa" limit 1) AND placetype = 11
返回:
{
"query": {
"count": 6,
"created": "2011-03-16T06:49:09Z",
"lang": "en-US",
"results": {
"place": [
{
"name": "94086"
},
{
"name": "94087"
},
{
"name": "94088"
},
{
"name": "94089"
},
{
"name": "94090"
},
{
"name": "94085"
}
]
}
}
}
有关于如何在其网站上的PHP和Javascript中实现此类查询的示例。
答案 2 :(得分:0)
首先关于Google API的说明:注意Google's TOS,这样就不会像其他人那样(有时不知不觉)采取浪费的路径。具体来说:“注意:Geocoding API只能与Google地图一起使用;禁止在地图上显示地理编码结果。”。
如果您的项目不是关键任务,最好的办法是获得free zip code database;否则,你可能需要一个好的商业级数据库。只需谷歌“商业级邮政编码数据库”。
另外,请参阅有关此主题的stack-overflow thread。