Автозаполнение Google Places не работает Иногда в Xamarin Android Project - PullRequest
3 голосов
/ 25 января 2020

Я внедряю Автозаполнение мест Google в моем проекте Xamarin Android. (Это не проект Xamarin Forms). Когда я ищу в первый раз, автозаполнение работает правильно, но последующие поиски не работают должным образом.

enter image description here

Даже если автозаполнение работает, если я выбираю элемент , он не вызовет функцию OnActivityResult и снова вернет экран выше.

Даже эти сообщения не решили мою проблему

Я не установил платежный аккаунт, но не думаю, что это проблема, потому что это работает иногда. Как я могу решить эту проблему?

(Обратите внимание, что это не повторяющийся вопрос, поскольку я не смог найти ни одного подобного вопроса)

Этот код я использую для открытия автозаполнения Google Адресов. view

private void BtnLocationOnClick(object sender, EventArgs e)
{
    List<Place.Field> fields = new List<Place.Field>();

    fields.Add(Place.Field.Id);
    fields.Add(Place.Field.Name);
    fields.Add(Place.Field.LatLng);
    fields.Add(Place.Field.Address);

    Intent intent = new Autocomplete.IntentBuilder(AutocompleteActivityMode.Overlay, fields)
        .SetCountry("US")
        .Build(this);

    StartActivityForResult(intent, 1);
}

После выбора элемента OnActivityResult необходимо вызвать функцию

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);

    if (requestCode == 1)
    {
        if (resultCode == Android.App.Result.Ok)
        {
            Place place = Autocomplete.GetPlaceFromIntent(data);

            txtLocation.Text = place.Name;

            googleMap.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(place.LatLng, 15));
        }
    }
}

1 Ответ

1 голос
/ 27 января 2020

Включение биллинга в вашем проекте является обязательным для работы API Адресов (или любого другого API Карт). В противном случае вы ограничены 1 запросом в день.

Следуйте инструкциям Google по началу работы , чтобы создать платежную учетную запись и связать ее с вашим проектом.

Также убедитесь, что в вашем проекте также включен Places API .

Надеюсь, это поможет!

...