Google Places API请求调用

时间:2011-05-28 17:41:07

标签: android api

我一整天都在忙着这件事

我想对谷歌地方进行API调用,但我似乎无法弄明白。 我试过这个:http://blog.brianbuikema.com/2010/08/android-development-part-1-using-googles-places-api-to-develop-compelling-location-based-mobile-applications/

现在我有一个这样的字符串:

http://maps.google.com/maps/api/place/search/xml?location=40.717859,-73.9577937&radius=1600&client=clientId&sensor=true_or_false&signature=SIGNATURE

我将clientID作为我的Gmail帐户上Places API的客户端ID,以及UrlSinger方法填充的签名signRequest

现在我如何获取XML或JSON对象? 我是否需要制作HttpRequestHttpPost(或完全不同的东西)?我对此完全陌生。 我想要一些示例代码。

提前致谢,

1 个答案:

答案 0 :(得分:2)

经过又一天的挣扎,我面对自己。

解决方案:为什么我需要签名?

像这样的链接可以正常工作:

https://maps.googleapis.com/maps/api/place/search/json?location=50.936364,5.873566&radius=500&name=ziekenhuis&sensor=false&key=FILL_IN_KEY_HERE

通过此方法

重新获取JSON对象
private JSONObject executeHttpGet(String uri) throws Exception{
    HttpGet req = new HttpGet(uri);

    HttpClient client = new DefaultHttpClient();
    HttpResponse resLogin = client.execute(req);
    BufferedReader r = new BufferedReader(
            new InputStreamReader(resLogin.getEntity()
                    .getContent()));
    StringBuilder sb = new StringBuilder();
    String s = null;
    while ((s = r.readLine()) != null) {
        sb.append(s);
}

我在这里找到的(在帖子的底部):

http://blog.simonstahl.com/2011/03/16/login-with-oauth-to-the-foursquare-api-v2-from-android/

该方法显然需要重写但是有效。