私は地図にポイントを追加しています、その場所私はdatabseに保存しています。以前に追加したポイントを地図上でクリックすると、あるポイントをクリックしたときにSQLiteクエリを実行します。明らかに、表示されているアイテムをクリックすると100%正確ではありません。私はそれが望ましい点(より多くの情報が画像に見られる)としてクリックを受け入れる二乗された領域を発明しました。私はSQliteクエリのためにこの領域を4つの象限に分けました。もしそれがポイント選択として受け入れられれば、私は指をその象限の1つにだけ置く必要があります。SQLite - 空間参照を照会する方法は?
私がポイントかどうかをクリックした場合、私は、考え出すためのSQL文を使用しています:
cursor=db.query("points_details2", null ,"(location_X <="+cXplus+" AND location_Y >="+cYminus+") OR (location_X >="+cXminus+" AND location_Y >="+cYminus+") OR (location_X <="+cXplus+" AND location_Y <="+cYplus+") OR (location_X >="+cXminus+" AND location_Y <="+cYplus+")", null, null, null, null);
Log.d("POINT", "Cursor "+cursor.getColumnName(0));
cursor.moveToFirst();
while (cursor.isAfterLast() == false) {
Log.d("POINT","data is: "+cursor.getInt(0)+", "+cursor.getString(1)+", "+cursor.getString(2)+", "+cursor.getDouble(3)+", "+cursor.getDouble(4));
cursor.moveToNext();
}
cursor.close();
との境界は次のように指定されていますので、
double cXplus=coord_X+5;
double cXminus=coord_X-5;
double cYplus=coord_Y+5;
double cYminus=coord_Y-5;
ここでは境界線5、coord_Xとcoord_Yは私の指でクリックした画面の座標です。
ここが問題です - 私は悪いアプローチを使用していますか?私が提供したこのSQL文は動作していません。理由はわかりません。この場合、誰も助けてくれますか?ありがとう
?ポイントが四角形の四隅にあるようにしたくないですか? – hwrdprkns
ああ、ありがとう。私はこれを監督しました...これを答えにして、私はそれを返信としてマークします – Waypoint