我在用AutocompleteSupportFragment
查找位置时遇到了问题,因为它没有显示任何结果,并且出现错误。
我已经放置了新的代码,因为他们要求我提供Google控制台密钥,但仍然无法使用。
这是我的代码
我没有密码限制,我不知道这是问题所在。
已启用Places API
谢谢。
Mainactivity.java
public class Mainactivity extends AppCompatactivity {
PlacesClient placesClient;
List<Place.Field> placesFields= Arrays.asList(Place.Field.ID,Place.Field.NAME,Place.Field.ADDRESS);
AutocompleteSupportFragment places_fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initPlaces();
setUpPlacesAutocomplete();
}
private void initPlaces() {
Places.initialize(this,getString(R.string.places_api_key));
placesClient=Places.createclient(this);
}
private void setUpPlacesAutocomplete() {
places_fragment =(AutocompleteSupportFragment)getSupportFragmentManager()
.findFragmentById(R.id.places_autocompletar);
places_fragment.setPlaceFields(placesFields);
places_fragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(@NonNull Place place) {
Toast.makeText(Mainactivity.this,""+place.getName(),Toast.LENGTH_SHORT).show();
}
@Override
public void onError(@NonNull Status status) {
Toast.makeText(Mainactivity.this,""+status.getStatusMessage(),Toast.LENGTH_SHORT).show();
}
});
}
}
activity_main.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Mainactivity">
<fragment
android:id="@+id/places_autocompletar"
android:name="com.google.android.libraries.places.widget.AutocompleteSupportFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</fragment>
</LinearLayout>
在密钥部分,我在应用程序限制中将其设置为NONE