如何根据数据库table信息显示传单标记?

How to display leaflet markers based on database table information?

我想显示与同一项目相关的图像一样多的传单标记。目前我正在从 MYSQL 获取图像数量和坐标,将其保存在 php 变量中并将其值用于 JS 变量。

// Contains Latitude for image 1
//$coord_pictures[0][0];
// Contains Longitude for image 1
//$coord_pictures[0][1];

// Contains Latitude for image 2
//$coord_pictures[1][0];
// Contains Longitude for image 2
//$coord_pictures[1][1];

// Marker name
var dynamicname = 'marker';
// Marker Latitude
var picture_lat = '<?php echo $coord_pictures[0][0];?>';
// Marker Longitude
var picture_long = '<?php echo $coord_pictures[0][1];?>';
// Number of pictures on table
var num_pictures = '<?php echo $num_pictures[0];?>';

// Function to create marker depending on the number of pictures
function Addmarker(markerArray) {
    for (var i = 0; i < markerArray; i++) {
        console.log(dynamicname + i);
        console.log(picture_lat);
        console.log(picture_long);

        this[dynamicname + i] = L.marker(
            [picture_lat, picture_long], {icon: redIcon}).addTo(map);
    }
}

Addmarker(num_pictures);

输出:

marker0
27.78233
-97.5608
marker01
28.78233
-96.5608
marker012
31.78233
-93.5608

我需要帮助才能使用循环中的 'i' 值来访问不同的坐标,并在标记名称上使用它来动态创建它们。

奥利弗是对的,我的设计不正确。

这就是我改变设计的方式: PHP 数组被编码为 JSON 表示并分配给 JS 数组。

//Assign php generated json to JavaScript variable
var tempArray = <?php echo json_encode($coord_pictures); ?>;

// Function to create marker depending on the number of pictures
function Addmarker(markerArray) {
    for (var i = 0; i < markerArray; i++) {
        this[dynamicname + i] = L.marker(
            [tempArray[i][0], tempArray[i][1]], {icon: redIcon}).addTo(map);
    }
}