Я добавляю точки на карту, их местоположение я сохраняю в базе данных.Когда я нажимаю на ранее добавленную точку на карте, я хочу выполнить запрос SQLite, где я щелкнул по какой-то точке.Очевидно, что вы не на 100% правильно нажимаете на элемент на дисплее.Я изобрел прямоугольную область, которая будет принимать щелчок как желаемую точку (больше информации видно на изображении).Я разделил эту область на четыре квадранта для запроса 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, координаты_X и координаты_Y - это координаты щелчка моего экрана пальцем.
Вот в чем дело - я использую плохой подход?Это заявление SQL, которое я предоставил, не работает, и я не знаю почему.Может ли кто-нибудь помочь мне в этом случае?Спасибо