2014-07-08 3 views
0

Я использую google places autocomplete text, и до вчерашнего дня все прошло хорошо. С сегодняшнего дня сайты google возвращают очень мало результатов на английском языке, даже если он установлен на иврит.Google помещает результаты автозаполнения переведенные результаты

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 получит матчи, в каком-то случае первый результат на английском, а остальные - на иврите.

например я пишу две буквы в иврите «יר» и URL ссылок вернуть первое место «ירושלים» (Иерусалим), но когда дело доходит до jsonResults первого результата становится «Иерусалим, Израиль», который является другим языком от первоначального первого результата.

ответ

1

Проблема заключалась в том, что google изменил определение иврита на Ил до iw.

Так оно и должно быть:

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

Список поддерживаемых языков: Google list

Смежные вопросы