【发布时间】:2020-03-16 21:24:39
【问题描述】:
我在使用 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 选项中的应用程序限制
【问题讨论】:
-
你是怎么解决你的问题的?
标签: google-maps android-studio google-places-api