0

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

但是,当我将 Internet 更改为 AT&T 时,出现以下错误:

地点错误 - 已达到对 Google 地点的查询限制。

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

谢谢

4

1 回答 1

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,则错误将显示为“Places Error sorry query limit to google places is reached”。你可以在这个部分看到它

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 许可证购买额外的配额来增加使用限制。

有关更多信息,您可以在此处查看-> Google Places API

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

于 2012-11-21T00:42:23.733 回答