Клуб API Карт

Отображение большого количества своих меток - вопросы.

Пост в архиве.

Доброго времени суток.

Задача: есть список магазинов (~75000 по россии), где можно купить или заказать нашу продукцию. Надо, чтобы пользователь, нажав на кнопку "Где можно купить поблизости" получал карту с метками магазинов. Всё, что нашёл в документации и на клубе, прочитал, но вопросы остались.

1. Геокодирование. Где-то натыкался я на инфу, что с одного IP можно делать ограниченное число запросов к геокодеру в день - пытался найти позднее еще раз, не нашёл. Есть такое ограничение? Если есть, то как мне лучше превратить 75000 адресов в координаты? Может, есть возможность пакетной обработки?

2. Про активные области. Пожалуйста, кто-нибудь, хотя бы очень приблизительно подскажите, какой объем займут картинки тайлов хотя бы для одного - максимального - масштаба при таком количестве объектов? Точки распределены в основном по городам, в крупных - чаще, в мелких - реже.

3. Я правильно понимаю, что нет никакого готового механизма, который бы мог добавить или убрать объект на картиночный слой, затронув только те тайлы, которые необходимо?

3 комментария
Андрей Грэй
28 января 2016, 02:40

Отвечу только на первый пункт. Да, геокодирование в 75К - перебор. Но почему вам не хранить эти записи в БД и соответственно хранить к ним координаты также к БД, тогда вы вообще не будите обращаться к геокодеру при всяком открытии страницы.
Для этих целей предусмотрен геокодер по http запросу с возвратом в json или xml. Ну а на карту выводить сведения ИЗ бд можно по необходимости через AJAX, например по клику на карту или по результату поиска на карте, выгружать из БД записи, которые удовлетворяют требованием и попадают в прямоугольник со второнами 5х5 км.

По активным областям не подскажу, не работал еще, не было необходимости. 

Sergey Konstantinov
28 января 2016, 02:40
1. Прогеокодировать за три дня и закэшировать результаты. А лучше вообще геокодировать по необходимости и кэшировать.
2. Это сильно зависит от распределения точек и настроек графического рендерера. Тайл пробок, например, весит порядка 10Кб, итого в худшем случае потребуется примерно 750 Мб картинок на каждый масштаб (если все точки попадают в разные тайлы).
С таким небольшим числом точек опять же легче будет генерировать такие тайлы на лету запросом в БД по координатам и кэшировать.
3. Нет. Нужно перерисовать тайл. Если рендерить тайлы на лету, то это не так уж и сложно.

1.Прогеокодировать и сохранить в базу

2. В нужный момент получить из базы максимум 10 меток которые на самом деле поблизости.

Потому что остальные 70 с гаком тысяч человеку уж точно не нужны.