2014-09-25 3 views
0

Android 설명서를 따르려고하지만 장소에 대한 제안 사항이 표시되지 않습니다. 예를 들어 내가 클러스터 Z를 작성하는 경우와 같이. 이것은 제안 사항을 표시하지 않습니다. 정확히 내가 원하는 것입니다. 위치 X2를 입력하면이 위치로 둘러싸여 있기 때문에 X1, X2 자체, X3, X4, X5를 반환합니다. 나는 무엇을 놓치고 있습니까? 단일 라이브러리 메서드 호출과 그 모든 코드를 교체하려는 경우 모든 결과를 표시 할 경우 대신 자동 완성의 구글 검색 상자를 사용하여Google 장소 API - V2- 자동 완성에 모든 장소 결과가 표시되지 않습니다.

private static final String PLACES_API_BASE = "https://maps.googleapis.com/maps/api/place"; 
private static final String TYPE_AUTOCOMPLETE = "/autocomplete"; 
private static final String OUT_JSON = "/json"; 
ArrayList<String> resultList = null; 
//API KEY = xxxxxxxxxxxxxxxxxxx; // Enter Your Key 

private ArrayList<String> autocomplete(String input) { 

    HttpURLConnection conn = null; 
    StringBuilder jsonResults = new StringBuilder(); 
    try { 
     StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON); 
     sb.append("?key=" + "Enter Your Key"); 
     sb.append("&components=country:myCountry"); 
     sb.append("&input=" + URLEncoder.encode(input, "utf8")); 

     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); 
     } 
    } catch (MalformedURLException e) { 
     // Log.e(LOG_TAG, "Error processing Places API URL", e); 
     return resultList; 
    } catch (IOException e) { 
     // Log.e(LOG_TAG, "Error connecting to Places API", e); 
     return resultList; 
    } finally { 
     if (conn != null) { 
      conn.disconnect(); 
     } 
    } 

    try { 
     // Create a JSON object hierarchy from the results 
     JSONObject jsonObj = new JSONObject(jsonResults.toString()); 
     JSONArray predsJsonArray = jsonObj.getJSONArray("predictions"); 

     // Extract the Place descriptions from the results 
     resultList = new ArrayList<String>(predsJsonArray.length()); 
     for (int i = 0; i < predsJsonArray.length(); i++) { 
      resultList.add(predsJsonArray.getJSONObject(i).getString("description")); 

     } 
    } catch (JSONException e) { 
     //Log.e(LOG_TAG, "Cannot process JSON results", e); 
    } 

    Log.v("returnResult",""+resultList.toString()); 
    return resultList; 
} 
+0

당신이 날이 바로 URL 및 키 여부를 – ckpatel

+0

내가 최근 통합 한 키 배치 나 browser..is의 키와 URL을 확인 제공 할 수 있습니다, 그것은 잘 작동, 유 통과해야 정확하게 정확한 결과를 얻을 수 있습니다. – Richa

+0

이 튜토리얼에 따라 도움을 받으실 수 있습니다. http://wptrafficanalyzer.in/blog/android-autocompletetextview-with-google-places-autocomplete-api/ – Sats

답변

0

에 보여 주었다 Sprockets (공개 : 저는 개발자입니다)를 확인하십시오.

Places.autocomplete(Params.create().query(input)).getResult() 

Places Javadoc

당신은 또한 당신을 위해 모든 것을 수행하고 사용자가 선택하는 Place을 제공하는 GooglePlaceAutoComplete 위젯을 살펴 수 : 등가 뭔가처럼 될 것입니다.

<net.sf.sprockets.widget.GooglePlaceAutoComplete 
    android:id="@+id/place" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

GooglePlaceAutoComplete Javadoc

관련 문제