我需要获取许多地址的纬度和经度位置,大约100k +。但是,按照我的代码的工作方式,我认为Bing阻止了我,因为他们认为我是垃圾邮件机器人或其他东西?我不确定错误是什么意思。有什么办法可以解决这个问题?
ListView lv;
ArrayList al = new ArrayList<String>();
ArrayAdapter ad;
MediaPlayer mp = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_audio);
getSupportActionBar().setTitle("Audio");
int j;
lv = findViewById(R.id.listview);
Field[] fields = R.raw.class.getFields();
for ( j = 0; j < fields.length; j++)
{
al.add(fields[j].getName());
}
ad = new ArrayAdapter(this, android.R.layout.simple_list_item_1, al);
lv.setAdapter(ad);
lv.setOnClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int j, long l)
{
if(mp!= null)
{
mp.release();
}
int res = getResources().getIdentifier(al.get(j), "raw", getPackageName());
mp=MediaPlayer.create(audio.this,res);
mp.start();
}
});
}
答案 0 :(得分:0)
这是Bing的“封锁”您。它不一定认为您是“垃圾邮件机器人”,它只是Bing Maps REST API的免费“基本”帐户的强加限制(但也用于防止垃圾邮件)。
Bing每秒最多允许5个请求,并且免费帐户每年总共有125,000个请求,付费产品每秒最多可以有50个请求,还有更多请求。您可以在此处查看更多信息:https://www.microsoft.com/en-us/maps/licensing/options
正如您在评论中提到的,它阻止了“ 5个请求之后”,这很有意义。我假设您使用的是免费帐户,并且Python程序的运行速度足够快,可以每秒发出5个以上的请求。不幸的是,没有免费的午餐。您必须更换提供商或付费。
或者,导入time
并在循环中添加time.sleep(number_of_seconds)
。