【问题标题】:Google Maps API marker based on data基于数据的 Google Maps API 标记
【发布时间】:2016-04-17 05:44:51
【问题描述】:

所以我的数据库中有一组数据,数据由位置 id (loc_id)、经度和纬度组成。我想要做的是创建一个包含我所有位置数据的标记的地图。我应该首先做什么来创建这个地图?因为这是我第一次使用 javascript。
目前我用来显示地图的代码:

<script src="http://maps.googleapis.com/maps/api/js"></script>

<script>
    function initialize() {
        var mapProp = {
            center:new google.maps.LatLng(-7.803164,110.3398252), zoom:10, mapTypeId:google.maps.MapTypeId.ROADMAP
        };
        var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
    }

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

【问题讨论】:

标签: javascript php mysql database google-maps


【解决方案1】:

您需要将数据库中的数据输出到 javascript 中,然后遍历它们,然后将它们添加到您的地图中。

首先从您的数据库中获取数据并将其制成一个 javascript 数组。仅供参考,我的 PHP 非常生锈

var locations = [
    <?php
        $query = 'SELECT * FROM sometable';
        $result = mysql_query($query);
        $currentrow = 0;
        while ($row = mysql_fetch_assoc($result)) {
             $currentrow++;
             echo '{';
             echo 'latitude : ' . $row[0] . ',';
             echo 'longitude: ' . $row[1] ;
             echo '}'.if(currentrow != msqli->num_rows){,}
        }
     ?>
]

然后在 javascript 上,您需要遍历位置数组并将它们创建为标记。

  for(var i = 0; i < locations.lengtht; i++){
      var myLatLng = {
          lat: locations[i].latitude, 
          lng: locations[i].longitude
      };
      var marker = new google.maps.Marker({
          position: myLatLng,
          map: map,
          title: 'Your title'
      }); 
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-09
    • 2014-03-03
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多