谷歌放置查询限制

时间:2012-11-20 22:24:07

标签: java android

我使用Google Map API开发了一款Android应用。 当我从本地提供商使用我的家庭互联网时,该应用程序正在运行。

但是,当我将我的互联网改为AT& T时,我收到了以下错误:

  

发出错误 - 对不起谷歌地方的查询限制。

我不明白为什么会这样。两个互联网连接有区别吗?

谢谢

1 个答案:

答案 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

如果您有任何疑问,请随时在评论中提问:)