谷歌放置自动补全返回翻译结果



我正在使用谷歌位置自动补全文本,直到昨天一切都很顺利。从今天起,谷歌搜索位置返回的结果很少是英文的,即使它设置为希伯来语。

StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON);
            sb.append("?key=" + API_KEY);
            sb.append("&components=country:il");
            sb.append("&input=" + URLEncoder.encode(input, "utf8"));
            sb.append("&types=(cities)&language=il");
            URL url = new URL(sb.toString());
            conn = (HttpURLConnection) url.openConnection();
            InputStreamReader in = new InputStreamReader(conn.getInputStream());
            // Load the results into a StringBuilder
            int read;
            char[] buff = new char[1024];
            while ((read = in.read(buff)) != -1) {
                jsonResults.append(buff, 0, read);
            }

在调试时,我可以获得用于获取结果的url,当我检查预测(通过浏览器)时,它看起来很好,并且所有匹配都是希伯来语。

一旦jsonResults获得匹配,在某些情况下,第一个结果是英语,其余的是希伯来语。

e。g我用希伯来语写了两个字母"以色列",url匹配返回第一名"以色列"(耶路撒冷),但是当它到达jsonResults时,第一个结果变成"耶路撒冷,以色列",这与原始的第一个结果不同。

问题是google将希伯来语的定义从il更改为iw

所以应该是:

sb.append("&types=(cities)&language=iw");

支持的语言列表:Google List

最新更新