У меня проблемы со скоростью страницы в Laravel из-за JavaScript в моем просмотре страницы.
Я пытаюсь улучшить скорость страниц, не добавляя javascript в просмотр страницы, а вместо этого в отдельный файл search.js.
Я создаю карту с помощью карт Google и размещаю на карте около 100 маркеров. Данные в зависимости от того, где следует размещать маркеры, хранятся в базе данных MySQL (как часть информации о пользователях).
Сейчас у меня есть скрипт на странице в цикле foreach
на странице для каждого пользователя, переданного в представление. Это делает исходный код страницы очень длинным, так как он проходит через цикл 100 раз и отображает весь этот javascript в исходном коде.
Ниже приведен только пример моего кода, чтобы получить суть того, что я имею в виду, весь код отображается здесь .
<script>
@foreach($usersall as $user)
...
var latlng{{ $user->id }} = {lat: {{ $user->lat }} , lng: {{ $user->long }} };
var marker{{ $user->id }} = new google.maps.Marker({
map: map,
clickable : true,
icon: '/assets/img/pin_marker_open.png',
position: latlng{{ $user->id }}
});
markers.push(marker{{ $user->id }});
...
@endforeach
</script>
Я не могу сделать это в моем файле search.js, потому что у меня нет данных из $usersall
.
Итак, вот мой вопрос: Как передать переменные PHP для пользователя в файл search.js, чтобы я мог отображать все маркеры на карте, не имея ни одного из JavaScript в самой странице просмотра?