为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过从数据库中提取所有坐标来使用传单在地图上放置标记?

如何通过从数据库中提取所有坐标来使用传单在地图上放置标记?

PHP
饮歌长啸 2022-09-12 10:08:23
我想从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 } ?>


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号