使用Google添加自己的位置在Android中放置API

时间:2012-03-12 16:52:35

标签: android google-maps google-api-java-client google-places-api

我想在Android中使用Google Places API添加我自己的地方我正在使用以下代码片段,但是它给了我这个例外:

com.google.api.client.http.HttpResponseException:400错误请求

我的代码段是:

private static final String PLACE_ADD_URL = "https://maps.googleapis.com/maps/api/place/add/json?"; 
public PlacesList addPlace() throws Exception {

try {
        Log.v(LOG_KEY, "Adding Place...");
        GenericUrl reqUrl = new GenericUrl(PLACE_ADD_URL);
        reqUrl.put("key", API_KEY);
        reqUrl.put("sensor", "false");
        Log.v(LOG_KEY, "Adding Place...");
        //reqUrl.put("Host:", "maps.googleapis.com");
        reqUrl.put("Host: maps.googleapis.com","{\"location\":{\"lat\":-33.8733721,\"lng\":151.2012871},\"accuracy\":50.0,\"name\":\"harbour\",\"types\":[\"food\"],\"language\":\"en\"}");
        Log.v(LOG_KEY, "Requested URL= " + reqUrl);

        HttpRequestFactory httpRequestFactory = createRequestFactory(transport);
        HttpRequest request = httpRequestFactory.buildGetRequest(reqUrl);


        Log.v(LOG_KEY, request.execute().parseAsString());  
        PlacesList place = request.execute().parseAs(PlacesList.class);

        Log.v(LOG_KEY, "STATUS = " + place.status); 
        Log.v(LOG_KEY, "Place Added is = " + place);    

            return place;

    } catch (HttpResponseException e) {
        Log.v(LOG_KEY, e.getResponse().parseAsString());
        throw e;
    }

    catch (IOException e) {
        // TODO: handle exception
        throw e;
    }
}  

现在我玩了很多这个例外但是无法解决,我应该如何传递这个请求URL?我的方法是正确还是错误?

1 个答案:

答案 0 :(得分:0)

我将Key返回为null。现在我传递了正确的密钥并且工作正常