【发布时间】:2013-02-22 04:03:44
【问题描述】:
我一直在关注一个很棒的教程,该教程允许用户输入邮政编码,然后 ListView 会显示全球与邮政编码匹配的地点。单击填充的 ListView 中的地址后,其位置将由 mapView 上的标记显示。
我已经完成了本教程,并且已经掌握了 HTTP Web 服务。目前,代码正在使用“geonames”数据库中的在线服务来查询提供的邮政编码我现在想在我的代码中实现 Google API 以搜索超市。
地名使用来自所提供邮政编码的 JSON 响应,格式如下:
{"postalCodes":[{"adminName2":"El Paso","adminCode2":"041","adminCode1":"CO","postalCode":"80907","countryCode":"US","lng":-104.817034,"placeName":"Colorado Springs","lat":38.876001,"adminName1":"Colorado"}]}
以上字符串来自邮政编码“80907”。
这是地理名称的字符串 URL:
private static final String GEONAME_RESTURL
= "http://api.geonames.org/postalCodeSearchJSON?maxRows=8&username=demo&postalcode=";
我已阅读 Google API 文档并找到以下“附近搜索请求”搜索字符串:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AddYourOwnKeyHere
这里是返回邮政编码匹配的代码:
DataWrapper wrap = new DataWrapper();
wrap = wrap.fromJson(responseString);
return wrap.postalCodes;
如何从中找到返回的 JSON 搜索字符串,如上所示,以及超市的 Google 搜索字符串的地理名称结果?
我意识到我可以将搜索半径固定为指定的数字,但我想接收我的搜索字符串的匹配项以列出超市。
希望我对这个问题已经足够清楚了!
【问题讨论】:
标签: java android api google-maps geonames