2015-12-17 6 views
0

Я хочу использовать API google place с автозаполнением. У меня есть андроид и ключ браузера от консоли разработчика для мест. Но когда я попробовал эти ключи API, он возвращает пустой ответ.API google places возвращает пустой ответ

Logcat:

Д/Залп: [2651] аа: HTTP-ответа на запрос = < [] https://csi.gstatic.com/csi?s=maps_android_api&v=3&action=map_start_up&it=map_load.10792,on_create.0,on_resume.2,init.23&irt=10792,23,76,23 0x4d844933 НОРМАЛЬНАЯ 2> [срок службы = 7872], [размер = 0], [гс = 204], [RetryCount = 0;] D/Залп: [1] Pb: 7903 мс: [] https://csi.gstatic.com/csi?s=maps_android_api&v=3&action=map_start_up&it=map_load.10792,on_create.0,on_resume.2,init.23&irt=10792,23,76,23 0x4d844933 НОРМАЛЬНАЯ 2 1 Д/Залп: [2650] аа: HTTP-ответа для запроса = < [] https://clients4.google.com/glm/mmap/api 0x99e6744e NORMAL 1> [lifetime = 25942], [size = 80], [rc = 200], [retryCount = 1] D/Volley: [1] рь: 25943 мс: [] https://clients4.google.com/glm/mmap/api 0x99e6744e NORMAL 1

мой код:

class GetPlaces extends AsyncTask<String, Void, ArrayList<String>> { 

     private ArrayAdapter<String> adapter; 

     @Override   
     protected ArrayList<String> doInBackground(String... args) { 
      ArrayList<String> predictionsArr = new ArrayList<String>(); 

      try { 
       URL googlePlaces = new URL(       
         "https://maps.googleapis.com/maps/api/place/autocomplete/json?input=" 
           + URLEncoder.encode(args[0].toString(), 
           "UTF-8") 
           + "&types=geocode&language=en&sensor=true&key=mykey"); 


       URLConnection tc = googlePlaces.openConnection(); 

       BufferedReader in = new BufferedReader(
         new InputStreamReader(tc.getInputStream())); 

       String line; 
       StringBuffer sb = new StringBuffer(); 

       while ((line = in.readLine()) != null) { 
        sb.append(line); 
       } 

       JSONObject predictions = new JSONObject(sb.toString()); 

       JSONArray ja = new JSONArray(predictions 
         .getString("predictions")); 

       for (int i = 0; i < ja.length(); i++) { 
        JSONObject jo = (JSONObject) ja.get(i); 
        // add each entry to our array 
        predictionsArr.add(jo.getString("description")); 
       } 
      } catch (IOException e) { 

      } catch (JSONException e) { 

      } 

      return predictionsArr; 

     } 



     @Override 
     protected void onPostExecute(ArrayList<String> result) { 
      // put all the information in the list view to display 
      Log.d("YourApp", "onPostExecute : " + result.size()); 
      // update the adapter 
      adapter = new ArrayAdapter<String>(mActivity, 
        R.layout.simple_list_item);// show the list view as texts 
      // attach the adapter to listView 
      listViewSearch.setAdapter(adapter); 

      for (String string : result) { 
       adapter.add(string); 
       adapter.notifyDataSetChanged(); 

      } 

     } 

    } 

и в onpostexecute журнале:

D/YourApp: onPostExecute : 0 

я являюсь new в google places api, пожалуйста, помогите мне найти, что не так.

+0

Включили ли вы «google places api» в ** консоли разработчика Google ** и получили ключ API? –

+0

@SatyenUdeshi, yup i enabled key android and brower – samira

+0

Можете ли вы запустить URL в браузере и проверить, что он что-то возвращает? –

ответ

0

Я думаю, вы не используете правильный ключ API. Следуйте за this guide, чтобы правильно включить Places API для Android. И это sample от Google, чтобы правильно реализовать автоматическое заполнение места.

0

Используйте ключ веб-службы, кроме использования Android-ключа. Включите его и с консоли разработчика.

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