Вы абсолютно правы, не загружайте их все сразу!
Используйте ограничивающий прямоугольник, чтобы получить только те координаты, которые находятся внутри карты, которую вы хотите отобразить. Проверьте ответ на этот вопрос: Основные данные и расположение ядра
Используйте ту же концепцию верхнего и нижнего пределов для ваших ширин и lng, чтобы возвращать только те строки из sqlite, которые видны в данный момент. Ваш запрос будет выглядеть примерно так:
SELECT * FROM atms WHERE lat > 51.4 and lat < 51.6 and lng > -0.165 and lng < -0.175
Этот запрос возвращает только банкоматы, расположенные недалеко от центра Лондона (51,5, -0,17).