OSM Bonuspack显示,从服务器无效的响应,当我想要得到的经度和纬度
它显示了错误:OSM Bonuspack显示,从服务器无效的响应,当我想要得到的经度和纬度
Invalid response from server: HTTP/1.1 429 Too Many Requests
我用一个按钮来得到名字我要搜索:
if (v.getId() == R.id.find) {
String keyword = name.getText().toString();
new UpdateSearch().execute(keyword);
find.setEnabled(false);
}
以下是在的AsyncTask使用GeocoderNominatim的:
public class UpdateSearch extends AsyncTask<String, Void, List<Address>> {
@Override
protected List<Address> doInBackground(String... params) {
// TODO Auto-generated method stub
GeocoderNominatim coderNominatim = new GeocoderNominatim(
MainActivity.this);
List<Address> geoResults = null ;
try {
geoResults = coderNominatim.getFromLocationName(params[0], 3);
Log.d("aaaaaaaaaaaaaa",String.valueOf(coderNominatim));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return geoResults;
}
@Override
protected void onPostExecute(List<Address> result) {...
而且我得到了错误:
09-13 15:04:39.352: D/BONUSPACK(547): GeocoderNominatim::getFromLocationName: http://nominatim.openstreetmap.org/search?format=json&accept-language=zh&addressdetails=1&limit=3&q=%E6%95%85%E5%AE%AB 09-13 15:04:39.355: W/System(547): ClassLoader referenced unknown path: /system/framework/tcmclient.jar 09-13 15:04:40.918: E/BONUSPACK(547): Invalid response from server: HTTP/1.1 429 Too Many Requests
几天前,我可以使用bonuspack,我得到了我想要的。但最近奖金包变得更糟。
HTTP/1.1 429 Too Many Requests
表示您正在从您的IP地址执行太多的请求。
您正在使用的Nominatim实例是由志愿者在捐赠的资源上运行的。请阅读usage policy,特别是关于每秒请求数的部分。
如果您需要执行更多的请求,然后switch to a different Nominatim instance或install your own Nominatim server。
Provide a valid HTTP Referer or User-Agent identifying the application (stock User-Agents as set by http libraries will not do).
,你必须建立一个应用程序特定的用户代理
String MY_USERAGENT = "com.beview.mygeoapp";
GeocoderNominatim coderNominatim = new GeocoderNominatim(
MainActivity.this, MY_USERAGENT);
但我只想要一个地方的地址。几天前我可以通过使用它来获取地址。 – Beview
等待一段时间,然后尝试获得(仅通过执行单个请求)。你是否与其他人分享你的知识产权?这也可能是这个Nominatim实例的暂时问题。也许你可以告诉osmbonuspack使用不同的服务器。 – scai