重複の可能性:
GoogleAppEngineジオハッシュ
AppEngineを使用して、緯度と経度のパラメーターを持つモデルを保存しようとしています。2つの場所の間ですべてのユーザーを取得しようとする場合を除いて、すべてうまくいくようです。私は次のようにします:
String query = "select from " + TUser.class.getName();
query += " WHERE ( iLatitude >= " + lat_min + " && iLatitude <= " + lat_max + ")";
query += " && ( iLongitude >= " + lon_min + " && iLongitude <= " + lon_max + ")";
List<TUser> obj = (List<TUser>)pm.newQuery(query).execute();
ただし、AppEngineのドキュメントで述べられているように、これは次のようになります。
java.lang.IllegalArgumentException: Only one inequality filter per query is supported. Encountered both latitude and longitude
私はこれの回避策を見つけようとしていますが、運がありません。座標を操作するには、常に少なくとも2つの不等式が必要です。では、これをどのように解決できますか?解決策はありますか?または、AppEngineにいつ実装されるか知っている人はいますか?
データベースには数十万人のユーザーがいるため、緯度だけでクエリをフィルタリングしてから、FORで結果を繰り返して、正しい経度のクエリを取得することはできません。データが多すぎます。
ありがとう、