2012-04-30 63 views
1

我有一集,我希望有一個數據庫座標的信息添加標記到Google地圖中使用的谷歌地圖上添加標記利用SQL數據庫

我創建了下面的代碼

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()方法....有誰知道如何使其工作?

+0

我很困惑。爲什麼在循環內準備好$文檔? –

+0

嗯這是因爲我原來把它放在 – HeWhoProtects

+0

裏面我只是把它刪除:) – HeWhoProtects

回答

1

你必須把你的PHP設置標記循環放入initialize()。請嘗試。

我不知道JavaScript的所有錯綜複雜,但我認爲在var lat, var lon(它在PHP循環中重複)中只寫var是個好主意。那麼,JS解釋器可能並不在乎。

+0

感謝人工作,只是好奇爲什麼它必須在初始化? – HeWhoProtects