猿问
下载APP

Android API的地方已被弃用

Android API的地方已被弃用

我正在尝试实施Places API。我的代码看起来像这样:

val builder = PlacePicker.IntentBuilder()startActivityForResult(builder.build(mActivity), PLACE_PICKER_REQUEST)

我的地图凭据是正确的,但是我得到了这个电话

Places API for Android does not seem to be enabled for your app. See https://developers.google.com/places/android/signup for more details.

但是,当我尝试启用“Places API for Android”时,我收到了此错误。

您没有足够的权限来查看此页面。

我尝试退出帐户,再次登录,隐身模式,Safari和Chrome。什么都没有用,所以我联系了支持,这非常快(谢谢你们!)

您尝试启用Places for Android API时收到错误的原因是它已被弃用。现在,启用Places API可以覆盖Android的位置功能。

我询问了我的实施并得到了这个回复。

地点选择器也已被弃用。您可以安装兼容性库以继续使用场地选择器,直到弃用期在7月29日结束。有关此内容的更多信息,请点击此处:https: //developers.google.com/places/android-sdk/client-migration#place_picker

我现在在网上找到的文档有点令人困惑,什么是弃用的,什么不是?任何人都可以指出我正确的方向这种功能吗?


慕容森
浏览 49回答 3
3回答

紫衣仙女

Google Places SDK for Android已弃用,因此我们需要迁移Places API。要使用新的Places API&nbsp;实施自动完成展示位置,请按以下步骤操作。首先在开发人员控制台中启用PlacesAPI,然后通过gradle更新来安装Client Library。(注意:您只能安装客户端库或兼容性库,而不能同时安装两者)implementation&nbsp;'com.google.android.libraries.places:places:1.0.0'现在在Oncreate()中初始化下面的代码;&nbsp;//&nbsp;Add&nbsp;an&nbsp;import&nbsp;statement&nbsp;for&nbsp;the&nbsp;client&nbsp;library. &nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;com.google.android.libraries.places.api.Places; &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Initialize&nbsp;Places. &nbsp;&nbsp;&nbsp;&nbsp;Places.initialize(getApplicationContext(),&nbsp;"***YOUR&nbsp;API&nbsp;KEY***"); &nbsp;&nbsp;&nbsp;//&nbsp;Create&nbsp;a&nbsp;new&nbsp;Places&nbsp;client&nbsp;instance. &nbsp;&nbsp;&nbsp;PlacesClient&nbsp;placesClient&nbsp;=&nbsp;Places.createClient(this);新PlacesAPI已初始化..对于自动完成的地方使用下面的代码(您也可以使用自动完成片段)//&nbsp;Set&nbsp;the&nbsp;fields&nbsp;to&nbsp;specify&nbsp;which&nbsp;types&nbsp;of&nbsp;place&nbsp;data&nbsp;to&nbsp;return.List<Place.Field>&nbsp;fields&nbsp;=&nbsp;Arrays.asList(Place.Field.ID,&nbsp;Place.Field.NAME);//&nbsp;Start&nbsp;the&nbsp;autocomplete&nbsp;intent.Intent&nbsp;intent&nbsp;=&nbsp;new&nbsp;Autocomplete.IntentBuilder( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AutocompleteActivityMode.FULLSCREEN,&nbsp;fields) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.build(this);startActivityForResult(intent,&nbsp;AUTOCOMPLETE_REQUEST_CODE);@Overrideprotected&nbsp;void&nbsp;onActivityResult(int&nbsp;requestCode,&nbsp;int&nbsp;resultCode,&nbsp;Intent&nbsp;data)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(requestCode&nbsp;==&nbsp;AUTOCOMPLETE_REQUEST_CODE)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(resultCode&nbsp;==&nbsp;RESULT_OK)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place&nbsp;place&nbsp;=&nbsp;Autocomplete.getPlaceFromIntent(data); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.i(TAG,&nbsp;"Place:&nbsp;"&nbsp;+&nbsp;place.getName()&nbsp;+&nbsp;",&nbsp;"&nbsp;+&nbsp;place.getId()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(resultCode&nbsp;==&nbsp;AutocompleteActivity.RESULT_ERROR)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TODO:&nbsp;Handle&nbsp;the&nbsp;error. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;status&nbsp;=&nbsp;Autocomplete.getStatusFromIntent(data); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.i(TAG,&nbsp;status.getStatusMessage()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(resultCode&nbsp;==&nbsp;RESULT_CANCELED)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;user&nbsp;canceled&nbsp;the&nbsp;operation. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}确保清单中的权限生成API密钥。在Dev Console中启用了Places API。删除(如果你添加)implementation&nbsp;'com.google.android.gms:play-services-places:16.0.0'必需的头文件import&nbsp;com.google.android.libraries.places.api.Places;import&nbsp;com.google.android.libraries.places.api.model.Place;import&nbsp;com.google.android.libraries.places.api.net.PlacesClient;import&nbsp;com.google.android.libraries.places.widget.Autocomplete;import&nbsp;com.google.android.libraries.places.widget.AutocompleteActivity;import&nbsp;com.google.android.libraries.places.widget.model.AutocompleteActivityMode;希望这会有所帮助..

吃鸡游戏

键可能需要一段时间才能开始工作。根据文件:完全配置密钥可能需要5分钟。如果密钥不能立即生效,请在5分钟后重试。https://developers.google.com/places/android-sdk/signup

函数式编程

适用于Android的Places SDK的Google Play服务版本(在Google Play Services 16.0.0中)已于2019年1月29日弃用,并将于2019年7月29日关闭。如果您在google API控制台下查看,它只有PLACES API,而且没有像PLACES SDK FOR ANDROID了。可以在此处找到新位置的迁移指南SDK客户端库或者在我的repo =>&nbsp;NewGooglePlacesSDK中找到自定义实现
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答