Прежде всего, вы на правильном пути, но вам просто нужно понять отдельные понятия серверных и клиентских языков и как они могут взаимодействовать.PHP не «передает» переменные в JavaScript, но он генерирует любой HTML-документ, который вы хотите.
Этот HTML-документ может содержать JavaScript, который будет выполняться, поскольку страница отрисована браузером.Итак, представьте, что ваш PHP делает код JavaScript:
Пример вывода PHP-кода JavaScript на HTML-странице:
<script type="text/javascript">
var testval = "<?php echo "Hello, " . (5 + 3) . "!" ?>"; // "Hello, 8!
</script>
СейчасЯ посмотрел учебник, и на самом деле код в вашем вопросе - это не тот код, а код для создания карты, а параметры lat / long в вашем примере для центра, а не для маркера.
Итак, на вашей странице PHP вы хотите сделать следующее:
- Где-то вам нужно создать карту:
var map = new google.maps.Map...
(как показано в руководстве) - Затем получите массив
$map
с элементами массива, содержащими ключи 'lng'
и 'lat'
. (Примечание: вы всегда должны заключать имена ключей массива в кавычки) - Внутри открытого тега сценария используйте
<?php
для создания блока кода PHP и создания вашегоforeach
петля.Для каждого элемента создайте код JavaScript, необходимый для создания маркера.
Пример цикла foreach:
<script type="text/javascript">
<?php
foreach($map as $row) {
$lng = $row['lng'];
$lat = $row['lat'];
?>
// Creating a marker and positioning it on the map
new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $lat ?>, <?php echo $lng; ?>),
map: map
});
<?php
}
?>
</script>