使用Google Places API?

时间:2018-08-11 14:40:43

标签: android google-cloud-platform google-places-api

首先,我想说的是,我已经检查了该问题的所有相关答案,但由于我认为它们已经很旧并且似乎不适用于新的api,因此它们都不对我有用。

  1. How to use Google Places API in Android?
  2. Can i use google Places API in android?
  3. Google Places API - android

上面是我检查过的几个链接。

我正在尝试使用place api获取附近的餐馆,该地方api将由用户使用搜索栏定义半径。 这是我创建请求的方式

private String getUrl(double latitude, double longitude, String nearbyPlace, int radius) {

    StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/search/json?");
    googlePlacesUrl.append("location=" + latitude + "," + longitude);
    googlePlacesUrl.append("&radius=" + radius);
    googlePlacesUrl.append("&type=" + "restaurants");
    googlePlacesUrl.append("&sensor=true");
    googlePlacesUrl.append("&keyword=" + nearbyPlace);
    googlePlacesUrl.append("&key=" + "xxxxxxxxxxxxxx");
    Log.d("getUrl", googlePlacesUrl.toString());
    return (googlePlacesUrl.toString());

}

我将上面创建的url传递给asynctask以从中获取结果。

但是每次我尝试请求时都会出现以下错误。

  

{“ error_message”:“该IP,站点或移动应用程序无权使用此API密钥。从IP地址103.226.226.47收到的请求,带有空引用,”,“ html_attributions”:[],“结果”: [],“状态”:“ REQUEST_DENIED”}

我也已经注册了Google Cloud Platform,以防万一,但这还是无济于事。

1 个答案:

答案 0 :(得分:1)

我自己解决了这个问题。我所做的一切都是正确的。问题是Google Places api表示启用激活后需要5分钟。但实际上花费的时间更多。因此,我实际上是在经过差不多5分钟的时间后才检查的,它没有工作。我将其放置了大约2-3个小时,之后它开始工作。