特定のジオロケーションブロック内にいるユーザーを取得するために、緯度と経度のパラメーターを持つGAEデータストアを検索するプログラムを構築しています。以下はコードスニペットです。
public Iterable<Entity> GetJSONForEntitiyNearByUsingBounds(float lng,float lat,GeoLocation.GeoLocationBoundry bound)
{
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Filter filter_min_lngt=new FilterPredicate("lng", FilterOperator.LESS_THAN, bound.lng1);
Filter filter_max_lngt=new FilterPredicate("lng", FilterOperator.LESS_THAN, bound.lng2);
Filter filter_min_lat=new FilterPredicate("lat", FilterOperator.GREATER_THAN, bound.lat1);
Filter filter_max_lat=new FilterPredicate("lat", FilterOperator.LESS_THAN, bound.lat2);
Filter filter_lng=new CompositeFilter(CompositeFilterOperator.AND,Arrays.asList(filter_min_lngt,filter_max_lngt));
Filter filter_lat=new CompositeFilter(CompositeFilterOperator.AND,Arrays.asList(filter_min_lat,filter_max_lat));
Filter filter=new CompositeFilter(CompositeFilterOperator.AND,Arrays.asList(filter_lng,filter_lat));
q.setFilter(filter);
PreparedQuery pq = datastore.prepare(q);
return pq.asIterable();
}
これは、クエリをループしてエンティティを抽出すると、次のメッセージが表示されることです。java.lang.IllegalArgumentException:クエリごとに1つの不等式フィルターのみがサポートされます。lngとlatの両方に遭遇
何が問題なのかわからないので誰か助けてもらえますか