1

我正在接受应该是地理位置的用户输入。我想验证用户输入的内容是否描述了一个位置——例如,邮政编码、机场代码、街道地址、城市名称等。

显而易见的答案是使用Google Geocode API来请求用户输入并查看我是否得到任何结果。)但是地理编码 ToS 禁止这样做:

...地理编码 API 只能与 Google 地图一起使用;禁止在未在地图上显示的情况下对结果进行地理编码。

有人知道替代品吗?

4

1 回答 1

0

雅虎还有一个地理定位 API,它的 TOS 限制较少。通过查询一个位置,如果您收到一个非null结果集,那么您就知道它是一个有效的位置。

# A query for New York...
http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20geo.places%20where%20text='New+York'&format=json
# Results in a response
{"query":{"count":10,"created":"2013-01-11T18:40:32Z","lang":"en-US","results":{"place":[... places ... ] }}}

然而

# A query for junk
http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20geo.places%20where%20text='kqpo234xk'&format=json
# Results in null
{"query":{"count":0,"created":"2013-01-11T18:39:21Z","lang":"en-US","results":null}}
于 2013-01-11T18:43:19.167 回答