プレイスオートコンプリートで検索しようとすると、検索結果を読み込めませんとログに表示されます
「オートコンプリート中のエラー:OVER_QUERY_LIMIT」
https://console.cloud.google.com/ を有効にしており、APIキーが適切に機能しています。
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>
説明にあるように、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です。