使用sql数据库中的信息将标记添加到谷歌地图

时间:2012-04-30 20:38:47

标签: google-maps google-maps-markers

我在数据库中有一组坐标,我想用它来在谷歌地图上添加标记

我创建了以下代码

var map;
function initialize() 
  {
    var latloncenter = new google.maps.LatLng(51,-1.4469157);
    var myOptions = 
    {
      zoom: 4,
      center: latloncenter,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  }; 

  <? while($row = mysql_fetch_assoc($result)){?>

      var lon = "<?php echo($row['Longitude']); ?>"; 
      var lat = "<?php echo($row['Latitude']); ?>"; 


     //alert_test(lat,lon);
     setmarker(lat,lon);

<? } ?>



function setmarker(lat,lon)
{

var latlongMarker = new google.maps.LatLng(lat,lon);

var marker = new google.maps.Marker
    (
        {
            position: latlongMarker, 
            map: map,
            title:"Hello World!"
        }
    ); 

}

function alert_test(lat,lon)
{
    alert(lat +" "+ lon);
}

<body onload="initialize()"><div id="map_canvas"></div></body>

它正在加载地图,我知道数据库中的查询是否正常工作,但是我认为我在setmarker()方法中做错了什么....有谁知道如何让它工作?

1 个答案:

答案 0 :(得分:1)

您必须将PHP-setmarker循环放在initialize()中。请试一试。

我不知道JavaScript的所有复杂性,但我认为在var中只编写var lat, var lon一次是个好主意(它在PHP循环中重复)。好吧,JS解释器可能不关心。