Всем привет и спасибо за уделенное время!
У меня есть большой объем данных (более 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);';
?>
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 секунд?
Еще раз спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


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