Я предпочитаю отображать их как JSON.Вы можете сделать это на странице, как вы делали выше.
<?php
// do database connection here
// run query to fetch your results
$rows = array();
while ($row = mysql_fetch_array($query)) {
$rows[] = $row;
}
echo "<script>var items = '".json_encode($rows)."';</script>";
Вы можете перебрать свой массив items
в JavaScript.
for (var i = 0; i < items.length; i++) {
(function(item) {
addMarker(item.lat, item.lon, '<b>' + item.name + '</b><br />' + item.desc);
})(items[i]);
}
Я полагаю, ваш addMarker()
Функция создает стандартный маркер Google Map.
Альтернативно, у вас может быть PHP-скрипт, который выбирает ваши элементы из базы данных, отображая их в виде строки JSON, а затем просто вызывает это через AJAX с помощью jQuery.
Итак, ваш PHP-скрипт будет просто:
<?php
header('Content-Type: application/json');
// connect to database
// do query
$rows = array();
while ($row = mysql_fetch_array($res)) {
$rows[] = $row;
}
echo json_encode($rows);
exit;
А затем в вашем файле JavaScript:
$.getJSON('script.php', function(items) {
for (var i = 0; i < items.length; i++) {
(function(item) {
addMarker(item.lat, item.lon, '<b>' + item.name + '</b><br />' + item.desc);
})(items[i]);
}
});
Надеюсь, это поможет.