Google Places API配额超过[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google Places API配额超过[重复]相关的知识,希望对你有一定的参考价值。
我一直在尝试使用google places api获得类似类型的地方。这是代码
/**
* Method to search certain type of place using Places API
* Uses latitude and longitude from global variable
*/
private void getPlaces() {
apiList = getResources().getStringArray(R.array.apiList);
int randomIndex = new Random().nextInt(apiList.length);
String api = apiList[randomIndex];
String url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=" +
latitude + "," + longitude + "&rankby=distance&type=" + type + "&key=" + api;
Log.i("PlaceList", "url: " + url);
final RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new com.android.volley.Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Places place;
Log.i("PlaceList", "onResponse: response: " + response.toString());
try {
JSONArray jsonArray = response.getJSONArray("results");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONObject geometry = jsonObject.getJSONObject("geometry");
JSONObject location = geometry.getJSONObject("location");
double lat = location.getDouble("lat");
double lng = location.getDouble("lng");
String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
String placeId = jsonObject.getString("place_id");
double rating = 0.0;
if (jsonObject.has("rating")) {
rating = jsonObject.getDouble("rating");
}
String vicinity = jsonObject.getString("vicinity");
String photoReference = "null";
if (jsonObject.has("photos")) {
JSONArray photos = jsonObject.getJSONArray("photos");
JSONObject photosObject = photos.getJSONObject(0);
photoReference = photosObject.getString("photo_reference");
}
place = new Places(lat, lng, id, name, placeId, rating, photoReference, vicinity);
placeArrayList.add(place);
Log.i(TAG, "onResponse: palceArrayList: " + placeArrayList.toString());
}
} catch (JSONException e) {
e.printStackTrace();
}
placeListAdapter.notifyDataSetChanged();
dialog.dismiss();
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse: error: " + error.toString());
}
});
requestQueue.add(jsonObjectRequest);
}
我总是得到api引用超过错误所以我尝试使用多个api使用字符串数组。无论我无法获取数据,我都尝试创建新的gmail和api,但这不起作用。那么我做错了什么?
请帮忙。我是初学者,很抱歉,如果我做错了请指出那个错误,我会纠正的。
谢谢。
答案
尝试在同一个开发人员帐户中创建一个新项目,并启用PLACES API和MAP javascript API。它应该工作。
另一答案
您已超出此API的Google API配额。
我看到你正在使用Places - Nearby API(https://developers.google.com/places/web-service/search#PlaceSearchRequests)。
目前的限制和费率可以在这里找到:https://developers.google.com/places/web-service/usage-and-billing
以上是关于Google Places API配额超过[重复]的主要内容,如果未能解决你的问题,请参考以下文章
从 Google Places API 获得超过 5 条评论
CORS 和 Google Maps Places Autocomplete API 调用 [重复]
Google Map 中的“您已超出此 API 的请求配额”[重复]
Google Places API 中与建筑物相邻的街道名称