2010-11-11 88 views
4

会有一种方法可以根据表单中的城市/州输入进行邮政编码查询吗?我在想Google的geocode API可能是正确的方向。有什么想法吗?我有一个基于WordPress的网站,所以代码将不得不使用PHP。提前致谢。使用Google API生成基于城市和州的邮政编码

+0

*哪个*邮政编码?美国几乎每个城市都有多个邮政编码。 – 2010-11-11 20:41:20

回答

1

YQL可以做到NGS这样的:

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" 
    } 
    ] 
    } 
} 
} 

YQL Console

有就如何落实在他们的网站上都PHPJavascript这样的疑问在那里的例子。

1

地理编码是您查找地址坐标的地方。是的,你可以对一个城市进行地理编码,但是这会让你成为城市的中心(由地理编码器的内部数据库定义 - 通常是质心或市政厅)。 ?所有这些 同样邮政编码可能包含多个城市 - 尤其是在农村地区,邮政编码可能很大,城市是哪些其他国家称之为“村”和“村庄”

所以,你最好的选择可能是得到一个数据库,可能会有一些免费的(Geonames想起来,但我不认为它有邮政编码),但你可能最终不得不买一个。

0

首先关于Google API的注意事项:注意Google's TOS,这样您就不会像其他人一样(有时在不知不觉中)浪费掉路径。具体来说:“注意:地理编码API只能与Google地图一起使用,禁止在地图上显示地理编码结果。”

如果您的项目不是关键任务,最好的办法是获得free zip code database;否则,你可能需要一个好的商业级数据库。只是谷歌“商业级邮编数据库”。

此外,请参阅关于此主题的好的stack-overflow thread

相关问题