Drupal: вывод 1000 элементов на Яндекс карте

G1
На сайте с 06.08.2010
Offline
196
1502

Всем привет, есть сайт на Друпале в каталоге фирм есть Яндекс карта, где по идее должны выходить все фирмы для удобного отбора, но в некоторых категориях очень много фирм (доходит до 1000 https://heatheat.ru/moskva/vnutrennyaya-otdelka/dizayn-intererov ) и страница не загружается, как быть? Как вывести данные на карте, какие варианты есть снижения нагрузки или может знаете какое-то юзабилите-решение, чтобы не подгружать всю карту?

Сейчас вывели только первые 10, но это не выход, т.к. крайне не юзабельно.

Aisamiery
На сайте с 12.04.2015
Offline
319
#1

Не грузится страница или карта? Если страница, то облегчить запросы, вытащить только координаты и названия, можно напрямую с БД. Сменить способ хранения, положить в память, в какие нибудь движки типо elasticsearch.

Если не грузится карта, то смотрите в сторону кластеризации (хотя она уже у вас там есть)

Может у вас там ангуляр и вы вотчеры навесили на тысячи объектов.... хотя не у вас там не ангуляр... Скорее всего у вас там трехэтажный запрос строится на простейшую выборку, который делает несколько миллионов итераций в БД, как это обычно бывает.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
S
На сайте с 30.09.2016
Offline
469
#2

Вроде как нормально там всё сделано, через постраничную загрузку. Или надо, чтобы 1000 фирм без пагинации вываливались на страницу?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
G1
На сайте с 06.08.2010
Offline
196
#3

Если выводить все 1000 маркеров на Яндекс карте, то не грузится вся страница.

Если страница, то облегчить запросы, вытащить только координаты и названия, можно напрямую с БД. Сменить способ хранения, положить в память, в какие нибудь движки типо elasticsearch.

Это позволит вывести на карте 1000 маркеров со всей необходимой информацией (кроме координат там есть еще названия фирм, ссылки на карточки фирм)?

danforth
На сайте с 18.12.2015
Offline
153
#4
Gagarin12:
Это позволит вывести на карте 1000 маркеров со всей необходимой информацией (кроме координат там есть еще названия фирм, ссылки на карточки фирм)?

Это позволит загрузится странице, как поведет себя карта с 1к маркерами - другой вопрос.

Junior Web Developer
Aisamiery
На сайте с 12.04.2015
Offline
319
#5
Gagarin12:
ЕЭто позволит вывести на карте 1000 маркеров со всей необходимой информацией (кроме координат там есть еще названия фирм, ссылки на карточки фирм)?

Да конечно, 1000 элементов это не много на самом деле, если запрос в БД сводится к простому селекту. У меня скрипт бегает по примерно 189 000 компаниям СПБ и чувствует себя хорошо, но у меня не друпал и все по феншую )))

S
На сайте с 30.09.2016
Offline
469
#6

Дело там не в БД, не в селектах и не в хранениях.

Попробуйте отложить выполнение скрипта /sites/all/modules/geofield_ymap/js/geofield_ymap.js

jokerov
На сайте с 18.07.2008
Offline
102
#7

Сталкивался с подобной задачей. Выводить можно и по 5к меток на карте(через кластер), только отрисовка самой карты(не страницы) долгая получается. Копать нужно в сторону аякс загрузки меток. Пример.

G1
На сайте с 06.08.2010
Offline
196
#8

Сделали, вот 19 000 фирм на Гугл карте выходит около 10 секунд https://heatheat.ru/moskovskaya-oblast/moskva, помучиться пришлось. А тут гугл пишет что у нас проблемы https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fheatheat.ru%2Fmoskovskaya-oblast%2Fmoskva&tab=mobile http://joxi.ru/1A5Z486tKJZ0Yr , как можно оптимизировать еще?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий