Google Places Android 显示错误“地点字段不得为空”?

Posted

技术标签:

【中文标题】Google Places Android 显示错误“地点字段不得为空”?【英文标题】:Google Places Android showing error " place fields must not be empty"? 【发布时间】:2020-12-11 19:45:04 【问题描述】:

当我点击 Places Auto 完成片段搜索框时,

我收到以下错误

 place fields must not be empty (9012) 

我已经迁移到新的地方 SDK 了。还检查了我的 Google Billing 和 Maps API。一切都是正确的

我的代码

Places.initialize(getApplicationContext(),getResources().getString(R.string.google_api_key));

    placesClient = Places.createClient(this);

    AutocompleteSupportFragment placesfragment = (AutocompleteSupportFragment) getSupportFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);


    placesfragment.setOnPlaceSelectedListener(new PlaceSelectionListener() 

        @Override
        public void onPlaceSelected(@NonNull Place place) 
            LatLng ll = place.getLatLng();

            mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(ll, 14));

            if (manmarker != null) manmarker.remove();
            manmarker = mMap.addMarker(new MarkerOptions().position(ll).title("Manually Selected Location"));
            manapprox = getAddressFromLatLAng(ll);
            manualaddr.setText(manapprox);
            manlatlng = ll;
        

        @Override
        public void onError(Status status)  // Handle the error
            Toast.makeText(MapsActivity.this, "Something went wrong! please try again "+status.getStatusCode() + " " + status.getStatusMessage() + Places.isInitialized(), Toast.LENGTH_SHORT).show();
        
    );

请帮我解决这个问题

【问题讨论】:

【参考方案1】:

尝试使用setPlaceFields指定要返回的地点数据类型:

placesfragment.setPlaceFields(listOf(Place.Field.ID, Place.Field.NAME));

参考here。

【讨论】:

以上是关于Google Places Android 显示错误“地点字段不得为空”?的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中,在列表中显示 Google Places JSON 数据?

适用于 Android 的 Google Places API:地图立即消失

Android 获取所有地点的名称和坐标(类似于google places)

Google Places API Autocomplete 仅获取城市列表

Android Google Places API,getAutocompletePredictions 返回状态“PLACES_API_ACCESS_NOT_CONFIGURED”

程序类型已存在:com.google.android.gms.location.places.zza