我几个小时来遇到这个问题。首先,我的问题是我得到了Places api not enabled for android
,即使我的Google Dev控制台中启用了它。现在,我已经了解了整个迁移过程,因此我将应用程序依赖项更改为:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.jakewharton:butterknife:10.1.0'
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-database:16.0.6'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-beta01'
implementation 'com.google.android.material:material:1.0.0-beta01'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.libraries.places:places:1.0.0' //ADDED THIS
implementation 'com.google.android.libraries.places:places-compat:1.0.0' //ADDED THIS AS WELL
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
}
现在我遇到了无法解决Places.getGeoDataClient(Context)的问题。这很烦人,现在已经是我三个小时了。
我的onCreate
方法现在看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
ButterKnife.bind(this);
Places.initialize(getApplicationContext(), getResources().getString(R.string.google_maps_key));
PlacesClient placesClient = Places.createClient(this);
init();
AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment) getSupportFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
resultReceiver = new AddressResultReceiver(new Handler());
geoDataClient = Places.getGeoDataClient(this);
placeDetectionClient = Places.getPlaceDetectionClient(this, null);
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
我得到了一个无法解决的方法Places.getGeoDataClient
,Places.getPlaceDetectionClient
有人请帮忙!
现在在构建时我也遇到了这个问题: enter image description here