2014-09-25 34 views
0

我想跟随android文档,但它不显示我所有的地方的建议。例如,如果我编写群集Z.这不会给我任何建议。正是我想要的是如果我键入位置X2,它应该返回我X1,X2本身,X3,X4,X5,因为我被这些位置包围。我错过了什么?谷歌的地方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

你能不能给我把钥匙或在您的browser..is重点检查URL是正确的网址和键或不 – ckpatel 2014-09-25 04:35:00

+0

我最近已经将它,它工作正常,u需要通过位置以及获得准确的结果。 – Richa 2014-09-25 04:40:46

+0

按照这个tutorail可能会帮助你。 http://wptrafficanalyzer.in/blog/android-autocompletetextview-with-google-places-autocomplete-api/ – Sats 2014-09-25 04:46:42

回答

0

尝试使用谷歌搜索框,而不是自动完成,如果你想显示所有结果在谷歌地图搜索框

0

显示,如果你想与单个库的方法调用替换所有的代码,你可以退房Sprockets(披露:我是开发商)。等效会是这样的:

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

Places Javadoc

你也可以看看的GooglePlaceAutoComplete小部件,它做一切你,并提供用户选择Place

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

GooglePlaceAutoComplete Javadoc

相关问题