我正在接受应该是地理位置的用户输入。我想验证用户输入的内容描述了一个位置 - 例如,邮政编码,机场代码,街道地址,城市名称等。
显而易见的答案是使用Google Geocode API来请求用户的输入,看看我是否得到任何结果。)但地理编码ToS禁止这样做:
...地理编码API只能与Google地图结合使用;禁止在地图上显示地理编码结果。
有没有人知道其他选择吗?
答案 0 :(得分:0)
雅虎也有一个geolocation 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}}