与数据库连接

苹果电脑

我按照您的建议做了,地图可以正确显示,但是没有标记。也许我犯了一些错误?代码:

`

mysql_connect("xxx", "xxx", "xxx") or die("Error connecting to database:  ".mysql_error());


mysql_select_db("xxx") or die(mysql_error());


$querz  = "SELECT * FROM markers";
$result = mysql_query($querz)
or die("Query failed");

while ($row = mysql_fetch_array($result)) {
    $lat = "$row[lat]";
    $lng = "$row[lng]";
}

 ?>


<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
 <meta charset="iso-8859-2">
  <title>Simple icons</title>
    <style>
    html, body, #map-canvas {
    height: 600px;
    margin: 0px;
    padding: 0px
     }
   </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
    <script>




function initialize() {
  var mapOptions = {
    zoom: 8,
   center: new google.maps.LatLng(52, 19)
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'),
                            mapOptions);


   var image = '20_blue.png';

  var myLatLng = new google.maps.LatLng(<?php print($lat); ?>,<?php print($lng); ?>);
   var beachMarker = new google.maps.Marker({
  position: myLatLng,
  map: map,
  icon: image
  });
 }

google.maps.event.addDomListener(window, 'load', initialize);

  </script>
 </head>
 <body>
   <div id="map-canvas"></div>
 </body>
/html>`

我的问题:有什么方法可以显示Mysql数据库中的标记,而不是像上面的代码中那样使用特定的lat和lng吗?如何 ?我尝试了google教程,但有一些错误(我已经问过另一个问题)。

快乐的

您需要服务器端语言才能连接到数据库(在这种情况下,我建议您使用最简单的PHP)。您将可以使用PDO从数据库中选择数据

编辑:

您需要在javascript代码中编写php循环。在这里,您仅向地图添加了一个标记,即您在查询中选择的最后一个标记。还要确保该表不为空。

您可以执行以下操作:

<script type="text/javascript">
  function initialize() {
    var mapOptions = {
      zoom: 8,
      center: new google.maps.LatLng(52, 19)
    }

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

    var image = '20_blue.png';

    <?php while($row = mysql_fetch_array($result)): ?>

    var myLatLng = new google.maps.LatLng(<?php echo $row['lat']; ?>, <?php echo $row['lon']; ?>);
    var beachMarker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      icon: image
    });

    <?php endwhile; ?>
  }

  google.maps.event.addDomListener(window, 'load', initialize);
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章