未显示适用于Android的Google Places API

时间:2019-05-07 07:52:54

标签: android google-maps google-play-services google-places-api

我们无法在Google API服务列表中看到 Android版Google Places API 。我们将应用程序切换到新的Google帐户,因此我们将在无法找到Android版Google Places API的新帐户中启用所有现有服务。
我们需要在新帐户中启用 Android版Google Places API ,以支持现有客户,直到我们进行迁移为止。
您能在这方面帮助我们吗?

1 个答案:

答案 0 :(得分:0)

  

根据Google新政策“弃用通知:适用于Android的Places SDK的Google Play服务版本”

     

注意:Android版Places SDK的Google Play服务版本(在Google Play服务16.0.0中)自2019年1月29日起已弃用,并将于2019年7月29日关闭。 Android的Places SDK现在可用。我们建议尽快更新到新版本。有关详细信息,请参阅迁移指南。 Google Place Autocomplete

添加Gradle依赖项

implementation 'com.google.android.libraries.places:places:1.0.0'

初始化Place API

Places.initialize(getApplicationContext(), "YOUR_API_KEY");

启动自动填充意图

List<Place.Field> fields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
    Intent intent = new Autocomplete.IntentBuilder(
            AutocompleteActivityMode.OVERLAY, fields)
            .build(this);
    startActivityForResult(intent, 1101);

onActivityResult

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == request_code) {
        if (resultCode == RESULT_OK) {
            Place place = Autocomplete.getPlaceFromIntent(data);
            Log.i(TAG, "ManishPlace: " + place.getName() + ", " + place.getId());
            txt_search.setText(place.getName());
        } else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
            // TODO: Handle the error.
            Status status = Autocomplete.getStatusFromIntent(data);
            Log.i(TAG, status.getStatusMessage());
        } else if (resultCode == RESULT_CANCELED) {
            // The user canceled the operation.
        }
    }
}

或者按照我的GitHub教程

Google Place Search GitHub Repository