Асинхронно отображать большие объемы данных на карте [буклет]

Всем привет и спасибо за уделенное время!

У меня есть большой объем данных (более 40 тыс. Строк), хранящийся в таблице MySQL. Хотелось бы отобразить их в кратчайшие сроки на карте. Прямо сейчас, используя следующий код, я достигаю некоторых результатов, но это занимает слишком много времени (около 20 минут).

ЧТО Я РЕАЛИЗОВАЛ:

1)

    <?php

    $users_markers = array();

    $URL_PARAM = isset($_SERVER['QUERY_STRING'])? explode(" = ",$_SERVER['QUERY_STRING'])[0] : null;
    $URL_VALUE = isset(explode(" = ",$_SERVER['QUERY_STRING'])[1])? explode(" = ",$_SERVER['QUERY_STRING'])[1] : null;

    echo $URL_VALUE==null ? 'setInterval(loadUsers,1000);' : 'displayMap(map);';

?>

2)
   function loadUsers()
   {
     setCookie('base', (parseFloat(getCookie('base'))+25) +"");
      fetch("lib/Map/MapManagerHelper.php?base = "+getCookie('base')).then(async (res) =>{
         let data =  await res.json();
         data !== undefined? clusterizedMap(map, data) : alert("Tutti gli utenti sono stati caricati!");
       });

     //console.info(data);
    }

  function clusterizedMap(map, users)
  {
       for ( var i = 0; i < users.length; i++) {
            var marker = new L.Marker( [ users[i].lat, users[i].lon ] );
            marker.bindPopup(users[i].user_name).openPopup();
            markers.addLayer( marker );

       }
       map.addLayer(markers);

  }

Как видите, чтобы все не замораживать, я обновляю карту одновременно 25 пользователям. Я контролирую этот счетчик, устанавливая файл cookie с именем база. URL-адрес получения - это не что иное, как запрос с Limit OFFSET, MAXIMUN_RETURNED_RESULTS

Что вы думаете по этому поводу? Можно ли улучшить и, скажем, отрендерить все менее чем за 20 секунд?

Еще раз спасибо!

Мне повезло с PHP, генерирующим тысячи кругов на картах с HTML5 "Canvas" примерно за 1 секунду.

Rick James 30.03.2021 23:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
17
0

Другие вопросы по теме