我正在使用Android版Google Places API,并试图将结果限制为仅显示Restaurants。我已经包含一个PlaceFilter,似乎是正确的,但似乎没有应用过滤器并给出除Restaurants之外的其他结果。看到代码:
ArrayList<String> restrictToRestaurants = new ArrayList<>();
restrictToRestaurants.add(Integer.toString(Place.TYPE_RESTAURANT));
PlaceFilter pf;
pf = new PlaceFilter(false, restrictToRestaurants);
PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi.getCurrentPlace(mGoogleApiClient, pf);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
for (PlaceLikelihood placeLikelihood : likelyPlaces) {
placeLikelihood.getPlace().getPlaceTypes();
Log.i(TAG, String.format("Place '%s' with " + "likelihood: %g", placeLikelihood.getPlace().getName(), placeLikelihood.getLikelihood()));
}
likelyPlaces.release();
}
});
任何人都有如何应用PlaceFilter的想法吗?
最佳答案
当前,PlaceFilter类中概述了过滤getCurrentPlace
结果的唯一方法:
requireOpenNow如果为true,则仅返回现在打开的地方
limitToPlaceIds要匹配的特定PlaceId
这些PlaceId中的每一个都应该与特定位置匹配。不幸的是,似乎尚不支持按地点类型(例如餐厅)过滤Places.PlaceDetectionApi.getCurrentPlace
的结果。您引用的Place.TYPE_RESTAURANT
可以在GeoDataApi.getAutocompletePredictions
的AutocompleteFilter中使用。
关于android - Google Places API PlaceFilter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30358460/