之前,我已经对此主题进行过一些研究,但尚未找到我的特定问题的答案.我目前正在使用Leaflet.js.每个标记都有从MySQL数据库提取的弹出文本.但是,某些数据不会显示在弹出窗口中,而仅与标记关联.
我想做的是每当单击一个特定的标记时,与其相关联的数据就会在弹出窗口以外的位置(即DIV)中回显.
有没有一种方法可以唯一地标识标记,以便您可以提取与其关联的数据并在其他地方回显它?
编辑:
这是一些使事情更清楚的代码:
这是我的一些JS:
var json_data = <?php echo json_encode($data); ?>;
for (var i = 0; i < json_data.length; i++) {
L.marker([json_data[i].latitude, json_data[i].longitude])
.bindPopup(json_data[i].firstName + ' ' + json_data[i].lastName + '<br>' + '<strong>Date:</strong>' + ' ' + json_data[i].dateOccurred)
.addTo(map);
}
这是我的PHP:
$query = "SELECT * FROM incident, victim WHERE incident.incidentID = victim.incidentID";
//converting the data from mySQL to PHP
$data = array(); //setting up an emtpy PHP array for the data to go into
if($result = mysqli_query($db,$query)) {
while ($row = mysqli_fetch_assoc($result))
{
$data[] = $row;
}
}
?>
基本上,我通过PHP提取数据,然后将其编码为JSON.
另外,谢谢大家的帮助!