Я хочу использовать 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, пожалуйста, помогите мне найти, что не так.
Включили ли вы «google places api» в ** консоли разработчика Google ** и получили ключ API? –
@SatyenUdeshi, yup i enabled key android and brower – samira
Можете ли вы запустить URL в браузере и проверить, что он что-то возвращает? –