为什么谷歌地图Gocode在我的Android设备上返回零结果(不在浏览器上)

时间:2014-05-05 08:49:39

标签: java android google-maps http geocoding

我在Android上做了一个appplication,我必须启动Google Navigation(经度和纬度)。我所拥有的只是一个地址(这里有一个例子:" * * *")。从那里我必须得到坐标。

所以我使用谷歌地理编码,并从Java做了一个HTTP请求:

public class LocationInfo extends AsyncTask<String, Void, JSONObject> {
    @Override
    protected JSONObject doInBackground(String... adresse) {
        HttpGet httpGet = new HttpGet(
                "https://maps.googleapis.com/maps/api/geocode/json"
                + "?address=" + adresse 
                + "&sensor=true");
        HttpClient client = new DefaultHttpClient();
        HttpResponse response;
        StringBuilder stringBuilder = new StringBuilder();

        try {
            response = client.execute(httpGet);
            HttpEntity entity = response.getEntity();
            InputStream stream = entity.getContent();
            int b;
            while ((b = stream.read()) != -1) {
                stringBuilder.append((char) b);
            }
        } catch (ClientProtocolException e) {
        } catch (IOException e) {
        }

        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject = new JSONObject(stringBuilder.toString());
        } catch (JSONException e) {
        }
        return jsonObject;
    }
}

有了这个请求,我的结果是ZERO_RESULT,但是当我尝试on my browser时,我的结果是正常的。

它在我的设备上工作了几个小时,之后,我遇到了这个问题...... 有人有答案吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

adresse不是字符串,而是vararg。你可能想在那里选择第一个字符串,所以在这里使用adresse[0]