我使用Google Map API开发了一款Android应用。 当我从本地提供商使用我的家庭互联网时,该应用程序正在运行。
但是,当我将我的互联网改为AT& T时,我收到了以下错误:
发出错误 - 对不起谷歌地方的查询限制。
我不明白为什么会这样。两个互联网连接有区别吗?
谢谢
答案 0 :(得分:0)
我认为你超过了谷歌地图API的用法。如果您超出了谷歌地图API的使用量,则响应状态代码将为 OVER_QUERY_LIMIT 我假设您的行为与此相同
protected void onPostExecute(String file_url) {
// dismiss the dialog after getting all products
pDialog.dismiss();
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed Places into LISTVIEW
* */
// Get json response status
String status = nearPlaces.status;
// Check for all possible status
if(status.equals("OK")){
// Successfully got places details
if (nearPlaces.results != null) {
// loop through each place
for (Place p : nearPlaces.results) {
HashMap<String, String> map = new HashMap<String, String>();
// Place reference won't display in listview - it will be hidden
// Place reference is used to get "place full details"
map.put(KEY_REFERENCE, p.reference);
// Place name
map.put(KEY_NAME, p.name);
// adding HashMap to ArrayList
placesListItems.add(map);
}
// list adapter
ListAdapter adapter = new SimpleAdapter(MainActivity.this, placesListItems,
R.layout.list_item,
new String[] { KEY_REFERENCE, KEY_NAME}, new int[] {
R.id.reference, R.id.name });
// Adding data into listview
lv.setAdapter(adapter);
}
}
else if(status.equals("ZERO_RESULTS")){
// Zero results found
alert.showAlertDialog(MainActivity.this, "Near Places",
"Sorry no places found. Try to change the types of places",
false);
}
else if(status.equals("UNKNOWN_ERROR"))
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry unknown error occured.",
false);
}
else if(status.equals("OVER_QUERY_LIMIT"))
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry query limit to google places is reached",
false);
}
else if(status.equals("REQUEST_DENIED"))
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry error occured. Request is denied",
false);
}
else if(status.equals("INVALID_REQUEST"))
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry error occured. Invalid Request",
false);
}
else
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry error occured.",
false);
}
}
});
}
您可以在此示例代码中看到Android Hive将获得来自google places API的响应并在此之后进行检查,如果状态为 OVER_QUERY_LIMIT ,则会显示错误“错误对不起谷歌地方的查询限制“。您可以在本节中看到它
else if(status.equals("OVER_QUERY_LIMIT"))
{
alert.showAlertDialog(MainActivity.this, "Places Error",
"Sorry query limit to google places is reached",
false);
}
您可以通过以下方式超出Google Maps API Web服务使用限制:
每天发送过多请求。 发送请求太快,即每秒请求太多。 发送请求太快太长时间或以其他方式滥用Web服务。 超过其他使用限制,例如Elevation API中每个请求的点数。
通过结合两种方法可以解决上述问题:
通过优化应用程序以更有效地使用Web服务来降低使用率。 在可能的情况下,通过为Maps API for Business许可购买额外的限额来提高使用限制。
有关详细信息,请点击此处 - &gt; Google Places API
如果您有任何疑问,请随时在评论中提问:)