我可以从Google API Geocode设置下载数据的默认语言吗?

时间:2016-02-28 23:32:08

标签: android json api google-maps

这是我的方法,用于将JSONObject解析为字符串。

private Map<String, String> parseJSONObject (JSONObject json) throws JSONException {
    Map<String, String> city = new HashMap<>();

    JSONArray Results = json.getJSONArray("results");
    JSONObject zero = Results.getJSONObject(0);
    JSONArray address_components = zero.getJSONArray("address_components");

    for (int i = 0; i < address_components.length(); i++) {
        JSONObject zero2 = address_components.getJSONObject(i);
        String long_name = zero2.getString("long_name");
        JSONArray mtypes = zero2.getJSONArray("types");
        String Type = mtypes.getString(0);

        city.put(Type, long_name);
    }

    return city;
}

要从API获取数据,我使用该网址:http://maps.googleapis.com/maps/api/geocode/json?address=CITY_NAME&sensor=true

我的问题是:如何设置我下载的数据的默认语言?例如,作为administrative_area_level_1,我得到了Masovian Voivodeship而不是Mazowieckie这就是我所需要的(波兰省的名称)。

1 个答案:

答案 0 :(得分:0)

正如您在documentation中找到的那样,有一个用于设置结果语言的可选参数。

  

language - 返回结果的语言。请参阅支持的域语言列表。请注意,我们经常更新支持的语言,因此此列表可能并非详尽无遗。如果未提供语言,则地理编码器将尝试使用Accept-Language标头中指定的首选语言,或发送请求的域的本地语言。地理编码器将尽力提供可供用户和当地人阅读的街道地址。为了实现该目标,它将以本地语言返回街道地址,如果需要,将其音译为用户可读的脚本,并观察首选语言。所有其他地址将以首选语言返回。地址组件将以相同的语言返回,该语言是从第一个组件中选择的。如果名称不能以首选语言提供,则将使用最接近的匹配。

您可以找到支持的语言列表here

因此,对于波兰语,您的API网址将类似于:

http://maps.googleapis.com/maps/api/geocode/json?address=CITY_NAME&sensor=true&language=pl