gpt4 book ai didi

android - 在 Places API 的 fetchPlace() 中在哪里设置 session token ?

转载 作者:行者123 更新时间:2023-12-04 14:20:03 25 4
gpt4 key购买 nike

我正在使用自定义 Activity 在 Google Places API 上发出自动完成请求。

我们在示例中使用相同的代码:在我的适配器中:

  // Use the builder to create a FindAutocompletePredictionsRequest.
FindAutocompletePredictionsRequest request = FindAutocompletePredictionsRequest.builder()
// Call either setLocationBias() OR setLocationRestriction().
// .setLocationBias(bounds)
.setLocationBias(mBounds)
.setCountry("br")
// .setTypeFilter(TypeFilter.ADDRESS)
.setSessionToken(session)
.setQuery(constraint.toString())
.build();

但是我要去哪里获取某个地方的详细信息:

 List<Place.Field> placeFields = Arrays.asList(Place.Field.LAT_LNG);
FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
//request.getSessionToken(); TEST TOKEN

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
Place place = response.getPlace();
returnResult(new LatLng(place.getLatLng().latitude, place.getLatLng().longitude), mResultList.get(position).primaryText.toString());
//Log.i(TAG, "Place found: " + place.getName());
}).addOnFailureListener((exception) -> {
if (exception instanceof ApiException) {
ApiException apiException = (ApiException) exception;
int statusCode = apiException.getStatusCode();
// Handle error with given status code.
Log.e(TAG, "Place not found: " + exception.getMessage());
}
});

我做到了:

request.getSessionToken();

我得到了空 token ,我认为这导致了对 API 的许多查询。在文档中说调用 fetchPlace() 时有必要再次传递 token ,但是在哪里?

最佳答案

您可以为 FetchPlaceRequest 设置 session token

List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG, Place.Field.ADDRESS);
FetchPlaceRequest request = FetchPlaceRequest.builder(placeId, placeFields).setSessionToken(token).build();
placesClient.fetchPlace(request).addOnSuccessListener(response -> {
Log.d("LocationPickActvity", "AutocompleteSessionToken: "+request.getSessionToken());
Place place = response.getPlace();
clickListener.place(place);
}).addOnFailureListener(exception -> {
if (exception instanceof ApiException) {
Toast.makeText(mContext, ""+exception.getMessage() + "", Toast.LENGTH_SHORT).show();
}
});

关于android - 在 Places API 的 fetchPlace() 中在哪里设置 session token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com