2014-01-13 27 views
1

我使用谷歌地點autocompletetextview,我跟着教程,它的工作原理很好。 現在我得到了一個建議結果列表,但沒有城市過濾器,大部分建議都是街道名稱。限制地方autocompletetextview只有城市

我的問題是否有辦法過濾街道名稱,以便結果列表只包含城市。

繼承人我的StringBuilder代碼:

HttpURLConnection conn = null; 
    StringBuilder jsonResults = new StringBuilder(); 
    try { 
     StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON); 
     sb.append("?sensor=false&key=" + API_KEY); 
     sb.append("&components=country:il"); 
     sb.append("&input=" + URLEncoder.encode(input, "utf8")); 

回答

5

看看在documentation(cities)類型的集合。

+0

感謝您的響應速度快,我嘗試了第三個例子那裏(只指向城市的那個),它說「狀態」:「REQUEST_DENIED」。這實際上不是因爲我的api鍵,因爲第一個和第二個使用相同的API工作,所以這有點奇怪...... – Juvi

+0

這是因爲他們忘記在第三個例子中包含傳感器參數。 – pushbit

+0

很好,請求應該是這樣的:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=YourInput&types=(cities)&language=YourCountry&sensor=true&key=YAPAPey。到目前爲止,最重要的成果來自我的國家,但它也包括世界各地的城市,你知道還有什麼可以被視爲「國家參數」而不是在請求中的「語言」? – Juvi

2

Google API獲取城市詳細信息。

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Chen&types=(cities)&key={Your_ApiKey} 

所以插入下面的行代碼中的

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

全碼:

StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON); 
      sb.append("?sensor=false&key=" + API_KEY); 
      sb.append("&components=country:il"); 
      sb.append("&types=(cities)"); 
      sb.append("&input=" + URLEncoder.encode(input, "utf8")); 

編碼快樂:)

相關問題