Я подозреваю, что ваша проблема в том, что при добавлении нового местоположения вы снова получаете все местоположения из карт Google.
- В ваш код не входит код для добавления местоположения.
Однако вы можете предотвратить дублирование данных, определив соответствующие ограничения UNIQUE для вашей Places базы данных.
Например, основываясь на вашем коде, вы можете СОЗДАТЬ таблицу, используя: -
CREATE TABLE IF NOT EXISTS places (name TEXT UNIQUE ON CONFLICT IGNORE,longitude REAL,latitude REAL,image BLOB, UNIQUE (longitude,latitude) ON CONFLICT IGNORE)
Использование name TEXT UNIQUE ON CONFLICT IGNORE
добавит ограничение / правило / ограничение, что имя должно быть уникальным, и если будет предпринята попытка использовать имя, которое уже существует (вставьте или обновите), тогда эта попытка будет игнорироваться (ошибка не возникает).
Использование UNIQUE (longitude,latitude) ON CONFLICT IGNORE
делает то же самое НО для комбинации ОБА столбцов.
например, если строка в таблицеимеет широту 1 и долготу 1, то: -
попытка добавить строку с широтой 1 и долготой 1 приведет к игнорированию попытки.
попытка добавить строку сширота 2 и долгота 1 будут работать, так как комбинация двух значений не использовалась.
- аналогично, попытка добавить строку с широтой 1 и долготой 2 будет работать.