Теперь разберемся с загрузкой точек интереса в ленту. Где-то в самом начале я ошибся и парсил неверно. Парсер собирал маленькую картинку для маркера и почему-то ОРИГИНАЛ. Все это тянул фронт на десятки мегабайт при каждом запросе пачки точек. Правим. Просто перепарсим и вместо оригинала возьмем 1280 по большей стороне. Этого хватит для ретины.

Чтобы обеспечить разнообразие выдачи я брал из каждой категории по точке, что создавало десятки запросов в базу и задержки при подгрузке. Теперь все работает на двух новых полях: rnd ∈ [0, 1) и listable булево. Первое отвечает за рандомность, а второе разрешает брать точку в выдачу или нет. Например, чтобы оказаться в выдаче, нужно иметь картинку. Еще пример: категория «Улицы» самая крупная, чтобы она не встречалась слишком часто, некоторые улицы false.

Теперь разберемся с загрузкой точек интереса в ленту. Где-то в самом начале я ошибся и парсил неверно. Парсер собирал маленькую картинку для маркера и почему-то ОРИГИНАЛ | Сетка — социальная сеть от hh.ru