web-dev-qa-db-ja.com

オートコンプリート中にオートコンプリートエラーを配置:OVER_QUERY_LIMIT

プレイスオートコンプリートで検索しようとすると、検索結果を読み込めませんとログに表示されます

「オートコンプリート中のエラー:OVER_QUERY_LIMIT」

https://console.cloud.google.com/ を有効にしており、APIキーが適切に機能しています。

enter image description here

Javaコード

    String apiKey = "MY API KEY";
    private RadioGroup mRadioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_costumer_map);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);

        Places.initialize(getApplicationContext(), apiKey);

        PlacesClient placesClient = Places.createClient(this);
          // Initialize the AutocompleteSupportFragment.
        AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
                getSupportFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

        // Specify the types of place data to return.
        autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

        // Set up a PlaceSelectionListener to handle the response.
        autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
            @Override
            public void onPlaceSelected(Place place) {
                destination = place.getName().toString();
                destinationLatLng = place.getLatLng();

                Log.i(TAG, "Place: " + place.getName() + ", " + place.getId());
            }

            @Override
            public void onError(Status status) {
                Log.e(TAG, "onError: " + status);
            }
        });

XMLコード

       <Android.support.v7.widget.CardView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_below="@+id/toolbar"
        Android:layout_margin="20sp">

        <fragment
            Android:id="@+id/place_autocomplete_fragment"
            Android:name="com.google.Android.libraries.places.widget.AutocompleteSupportFragment"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content" />

    </Android.support.v7.widget.CardView>
7
AhmedEssam

説明にあるように、Places SDKの現在非推奨のPlay ServicesバージョンPLACES_API_RATE_LIMIT_EXCEEDEDを使用している場合、com.google.Android.gms:play-services-placesエラーが表示されます here

注:Androidアプリで9005 PLACES_API_RATE_LIMIT_EXCEEDEDエラーが発生している場合は、Places SDK for Androidのサポートが終了したバージョンを使用している可能性があります。Android(たとえば、com.google.Android.gms:play-services-places)は、2019年1月29日をもって廃止され、2019年7月29日に無効になりました。=向けのPlaces SDKの新しいバージョンAndroidが利用可能になりました。できるだけ早く新しいバージョンに更新することをお勧めします。詳細については、移行ガイドを参照してください。

build.gradleの次の行を置き換える必要があります。

implementation 'com.google.Android.gms:play-services-places:<VERSION>'

と:

implementation 'com.google.Android.libraries.places:places:2.2.0'

バージョン2以降にはandroidxが必要です。現時点でandroidxを必要としない最新バージョンは1.1.0です。

0
Jamie Cockburn