微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android Place Autocomplete默认情况下如何获取搜索位置列表

我在我的应用程序中实现了地方自动完成功能,并在EditText中编写了搜索关键字,以根据搜索地点关键字获取结果.
这里是用于搜索PlaceAutocomplete活动的代码

int PLACE_AUTOCOMPLETE_REQUEST_CODE = 1;
try {
Intent intent =
        new 
 PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
                .build(this);
startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);
} catch (GooglePlayServicesRepairableException e) {
} catch (GooglePlayServicesNotAvailableException e) {
}

当活动启动列表显示空白时.

enter image description here

我想要的是-
已经搜索过的地方应该在活动启动时显示为超级应用程序

enter image description here

解决方法:

您必须在内部应用程序存储(共享首选项,数据库..)或您想要的任何地方保留自动完成结果.基本上,您需要自己实现UI.我认为您无法根据需要自定义PlaceAutocomplete.IntentBuilder.

>为AutocompleteGooglePlaces实施API调用(我们正在为此进行改造)

@GET("/maps/api/place/autocomplete/json")
Call<GoogleAutocompleteResponse> getAutoCompleteSearchResults(@Query("key") String apiKey,
          @Query("input") String searchTerm,
          @Query("location") String location,
          @Query("radius") long radius);

>执行调用(在Enter-click或onTextChange上)

public List<GooglePlaceAutocompleteGeoModel> getAutoCompleteSearchResults(String searchTerm, LatLng center, long radius) {

   Call<GoogleAutocompleteResponse> call = googlePlacesRestApiService.getAutoCompleteSearchResults(API_KEY, searchTerm, getLocationStringFrom(center), radius);

    try {
        GoogleAutocompleteResponse autocompleteResponse = call.execute().body();
       List<GooglePlaceAutocompleteGeoModel> autocompleteResponsePredictions = autocompleteResponse.getPredictions();
       //Here are your Autocomplete Objects
       return autocompleteResponsePredictions;

   } catch (IOException e) {
       L.e("Error on Google Autocomplete call: " + e.getMessage());
   }

   return new ArrayList<>();
   }

>在您的应用中坚持自动完成结果GoogleAutocompleteResponse的结果并实现逻辑以在UI中显示结果或填充在ListView中

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐