我想从PostgreSQL数据库中提取经度和纬度坐标,并在传单地图上显示这些坐标。使用下面的代码,我能够查询数据库中的数据并在浏览器上打印数据。索引.php<!DOCTYPE html><html><head><meta charset=utf-8"> <title>Map</title></head><body onload="init()"><h1>Map</h1><div><?php$conn = pg_connect("host=localhost port=5432 dbname=visualization user=postgres password=*******");$result = pg_query($conn,"SELECT lon,lat FROM pms_tunnel WHERE lon is not NULL or lat is not NULL");echo "<table>";while($row=pg_fetch_assoc($result)){ echo "<tr>"; echo "<td width='200'>" . $row['lon'] . "</td>"; echo "<td width='200'>" . $row['lat'] . "</td>"; echo "</tr>";}echo "</table>";pg_close($conn);?></div></body></html>使用下面的代码,我能够使用传单显示世界地图,并在1经纬度坐标上绘制标记。遵循 https://leafletjs.com/examples/quick-start/ 教程//Map Leafletvar mymap = L.map('mapid').setView([37.541999, 126.752747], 17);L.tileLayer('http://xdworld.vworld.kr:8080/2d/Base/201802/{z}/{x}/{y}.png',{ maxZoom: 20, subdomains:['mt0','mt1','mt2','mt3']}).addTo(mymap);var marker = L.marker([37.541999, 126.752747]).addTo(mymap); // 1 longitude latitude coord现在,我不想从经度和纬度坐标中放置1个标记,而是在地图上显示数据库中的所有坐标,并在每个坐标上放置标记。如何做到这一点?
1 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
你可以混合使用php和js来完成这个任务,就像下面的例子一样:
<?php while($row=pg_fetch_assoc($result)){ ?>
var marker = L.marker([<?php echo $row['lon']?>,<?php echo $row['lat'] ?>]).addTo(mymap);
<?php } ?>
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消
