PlacePicker немедленно закрывается, при переходе с Places SDK для Android на Google Places API возникает ошибка - PullRequest
0 голосов
/ 07 мая 2019

Я использовал старый Places SDK для Android, но теперь он устарел, поэтому я попытался использовать новый Places SDK от Google.Я использую тот же код с библиотекой Compat, но снова и снова появляется какая-то ошибка.

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

Timeline: Activity_launch_request time:126708460 intent:Intent { 
act=com.google.android.gms.location.places.ui.PICK_PLACE 
pkg=com.google.android.gms (has extras) }

W/IInputConnectionWrapper: reportFullscreenMode on inexistent InputConnection

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

Это то, что я делаю, я использую приведенную ниже библиотеку, как упомянуто в Google Документах, чтобы использовать указатель мест, поскольку он устарел.

implementation 'com.google.android.libraries.places:places-compat:1.1.0'

Во-вторых, я импортирую следующие классы какупомянуто также в документе

import com.google.android.libraries.places.compat.Place;
import com.google.android.libraries.places.compat.ui.PlacePicker;

наконец, я вызываю метку при событии нажатия кнопки

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            showPlacePicker();
        }
    });

в моем showPlacePicker

int PLACE_PICKER_REQUEST = 1;
private void showPlacePicker() {
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
    try {
        startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);
    } catch (Exception e) {
        Log.e("error", e.getStackTrace().toString());
    }
}


public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == PLACE_PICKER_REQUEST) {
        if (resultCode == RESULT_OK) {
            Place place = PlacePicker.getPlace(data, this);
            LatLng latLng = place.getLatLng();
            lat = latLng.latitude;
            lng = latLng.longitude;
            setAddress();
        }
    }
}

public void setAddress(){
    Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    try {
        List<Address> addressList = geocoder.getFromLocation(
                lat, lng, 1);
        if (addressList != null && addressList.size() > 0) {
            Address address = addressList.get(0);
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
                sb.append(address.getAddressLine(i)).append("\n");
            }
            sb.append(address.getFeatureName()).append(", ");
            sb.append(address.getSubLocality()).append(", ");
            sb.append(address.getAdminArea()) ;
            Toast.makeText(this, "admin area"+address.getAdminArea(), Toast.LENGTH_SHORT).show();
            locationText.setText(result);
        }
    } catch (IOException e) {
        Log.e("Address is ", "Unable connect to Geocoder", e);
    }
}

Можеткто-то, пожалуйста, скажите мне, что здесь не так, я немного смущен, здесь я не получаю много информации.Я следовал инструкциям на Google для получения ключа и также видел учебники.Но я все еще не могу решить эту проблему.

1 Ответ

0 голосов
/ 09 мая 2019

Обратите внимание, что средство выбора места устарело с 29 января 2019 года. Эта функция будет отключена 29 июля 2019 года и больше не будет доступна после этой даты. Обратите внимание, что старые пользователи, которые использовали Places SDK для iOS / Android, единственные, кто все еще может использовать Place Picker в течение периода устаревания. Использование Places SDK для обеих платформ теперь осуществляется через API Places и больше не поддерживает использование Place Picker. Вы можете увидеть уведомление об устаревании в https://developers.google.com/places/android-sdk/placepicker.

В дополнение к этому Google проводит обзор того, что побуждает пользователей использовать средство выбора мест, если вам интересно, добавьте свой ответ в форму, упомянутую в этом выпуске .

...