java - 无法解析符号“PlaceBuilder”
问题描述
我得到错误
无法解析符号“PlaceBuilder”
当它在我的 PlaceAutocompleteAdapter 中使用时。如果这是由于com.google.android.gms.location.places.PlaceBuffer
已弃用的事实。
如果这是原因,我该如何更新我的代码?
private AdapterView.OnItemClickListener mAutoCompleteClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
hideSoftKeyboard();
final String placeId = mPlaceAutocompleteAdapter.getItem(i).getPlaceId();
PendingResult<PlaceBuilder> placeResult = Places.GeoDataApi
.getPlaceById(mGoogleApiClient, placeId);
placeResult.setResultCallback(mUpdatePlaceDetailsCllback);
}
};
private ResultCallback<PlaceBuffer> mUpdatePlaceDetailsCllback = new ResultCallback<PlaceBuffer>() {
@Override
public void onResult(@NonNull PlaceBuffer places) {
if(!places.getStatus().isSuccess()){
Log.d(TAG, "onResult: Place query did not complete successfully: " + places.getStatus().toString());
places.release();
return;
}
final Place place = places.get(0);
try{
mPlace = new PlaceInfo();
mPlace.setName(place.getName().toString());
}catch (NullPointerException e){
Log.e(TAG, "onResult: NullPointerException: " + e.getMessage());
}
if (mPlace!=null){
moveCamera(mPlace.getLatlng(), DEFAULT_ZOOM, mPlace.getName());
}
places.release();
}
};
解决方案
PlaceBuffer 确实已被弃用。请按照 Google 的指南迁移到适用于 Android 的新 Places SDK https://developers.google.com/places/android-sdk/client-migration
希望这可以帮助!
推荐阅读
- angular5 - 角度 5,使用 (ngModelChange) 更改模型时未采用新模型值
- static - SystemVerilog:自动变量不能为静态 reg 出现非阻塞赋值
- python - 在 Pandas 上过滤列表元素
- sapui5 - Ui5 中的日期选择器允许输入整数
- javascript - Javascript 运算符优先级(关联性)
- python - 将 py 文件转换为 exe,找不到现有的 PyQt5 插件目录
- ios - Objective C 中的@dynamic 属性
- java - 无法使用 Selenium Java 访问某些 URL
- javascript - 如何使儿童订单随机化器具有重置回初始订单的选项?
- reactjs - Axios 请求超时