Пытаюсь достать место с места выбора, но оно открывается и закрывается - PullRequest
1 голос
/ 08 марта 2019

Я интегрирую средство выбора мест, но я уже включил API мест, но он сразу открывается и закрывается.

Я создал ключ API и поместил его в файл манифеста, но он не работает. В моем logcat он мне даетошибка

2019-03-08 10: 31: 41,640 2837-2358 /?E / Places: Похоже, что API-интерфейс Places для Android не включен для вашего приложения.См. https://developers.google.com/places/android/signup для более подробной информации.2019-03-08 10: 31: 41.651 4713-4713 /?E / Places: закрытие Picker из-за PLACES_API_ACCESS_NOT_CONFIGURED 2019-03-08 10: 31: 41.775 2837-2358 /?E / Places: Похоже, что API-интерфейс Places для Android не включен для вашего приложения.См. https://developers.google.com/places/android/signup для более подробной информации.2019-03-08 10: 31: 41.776 2837-2358 /?E / AsyncOperation: serviceID = 65, operation = SearchPlaces OperationException [Status {statusCode = PLACES_API_ACCESS_NOT_CONFIGURED, resolution = null}]

вот мой код

<meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="key" />


 @SuppressLint("MissingPermission")
    private void showPlacePicker() {
        PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
        try {
            startActivityForResult(builder.build(NewOrderActivity.this), PLACE_PICKER_REQUEST);
        } catch (GooglePlayServicesRepairableException e) {
            e.printStackTrace();
        } catch (GooglePlayServicesNotAvailableException e) {
            e.printStackTrace();
        }
    }

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == PLACE_PICKER_REQUEST) {

            if (resultCode == RESULT_OK) {
                Place place = PlacePicker.getPlace(data, NewOrderActivity.this);
                edt_pickup_address.setText(place.getAddress());
                Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
                try {
                    List<Address> listAddresses = geocoder.getFromLocation(place.getLatLng().latitude, place.getLatLng().longitude, 1);
                    if (null != listAddresses && listAddresses.size() > 0) {
                      /*  post_area = listAddresses.get(0).getSubLocality();
                        post_city = listAddresses.get(0).getSubAdminArea();
                        post_state = listAddresses.get(0).getAdminArea();*/

                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }


                String place_phone_number = "" + place.getPhoneNumber();
                if (!TextUtils.isEmpty(place_phone_number)) {
                    String[] phone_number = place_phone_number.split(" ");
                    String s = "";
                    for (int i = 0; i < phone_number.length; i++) {
                        if (i != 0) {
                            s = s + phone_number[i];
                        }
                    }
//                    et_contact_no_add_company.setText(s);
                } else {
//                    et_contact_no_add_company.setText("");
                }
                if (place.getWebsiteUri() != null) {
//                    et_website_add_company.setText("" + place.getWebsiteUri());
                } else {
//                    et_website_add_company.setText("");
                }
            }
        }
    }

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Уведомление об устаревании: версия Places SDK для Android для Google Play Services

ndroid

Пожалуйста, обратитесь по этой ссылке

https://developers.google.com/places/android-sdk/autocomplete

0 голосов
/ 08 марта 2019

Согласно новому обновлению Google Place Picker Deprecate, и оно больше не будет доступно в будущем, вот официальное заявление

Уведомление об устаревании: Picker

Примечание: Выбор места (Android, iOS) устарел с 29 января 2019 года. Эта функция будет отключена 29 июля 2019 года, и больше не будет доступен после этой даты. Чтобы продолжить использовать Place Picker с Places SDK для iOS v.2.7.0 через устаревший период, НЕ отключайте Places SDK для iOS. Прочитайте миграцию руководства (Android, iOS), чтобы узнать больше.

Итак, с другой стороны вы можете использовать Place Autocomplete

Но в новом API-интерфейсе Place есть некоторые ограничения: вы должны разрешить учетной записи Billing использовать автозаполнение Place.

Напоминание: Чтобы использовать API Адресов, вы должны получить ключ API и включить биллинг. Вы можете включить биллинг, когда получите ключ API (см. Краткое руководство) или как отдельный процесс (см. раздел Использование и выставление счетов).

Альтернативное решение: получить latLong от названия места, используя Geocoder

...