首页 > 解决方案 > 在 php 中显示谷歌地图

问题描述

我是 php 新手,我正在尝试使用动态坐标显示谷歌地图位置。这是我进行查询的代码:

$longitudine="select longitudine from sedi, stati, tappe, spedizioni where $idSpedizione=tappe.spedizione and tappe.stato=idStato and sedi.citta=tappe.luogoInizio group by data desc limit 1;";
$longi=$conn->query($longitudine);
$longg=mysqli_fetch_array ($longi);

$latitudine="select latitudine from sedi, stati, tappe, spedizioni where $idSpedizione=tappe.spedizione and tappe.stato=idStato and sedi.citta=tappe.luogoInizio group by data desc limit 1;";
$lati=$conn->query($latitudine);
$lat=mysqli_fetch_array ($lati);

这是代码:

<style>
  #map {
    height: 400px;
    width: 100%;
  }
</style>

 <div id="map"></div>
<script>

  function initMap() {

    var uluru = { lat: 47.37, lng: 9.200000 };

    var map = new google.maps.Map(document.getElementById("map"), {
      zoom: 8,
      center: uluru,
    });

    var marker = new google.maps.Marker({
      position: uluru,
      map: map,
    });
  }
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&callback=initMap&libraries=&v=weekly"
 ></script>

基本上我想用查询的值设置坐标,但是当我尝试时它没有显示地图。谁能帮我?

标签: javascriptphphtml

解决方案


如果您的 php 和上面的脚本代码都在同一页面上,您可以将 php 变量添加到脚本的uluru变量中,如下所示:

var uluru = { lat: <?php echo floatval($lat["latitudine"]) ?>, lng: <?php echo floatval($longg["longitudine"]) ?> };

请注意,它不是将 php 变量添加到脚本代码的标准方法,但它可能适用于您的代码。你可以试试。


PS:请不要像您在问题中那样透露您的 API 密钥。请编辑并将其更改为MY_API_KEY上述问题中的内容。


推荐阅读