2012-12-29 57 views
0

有沒有從Google地圖獲取座標的正確方法?從MySQL數據庫的谷歌地圖座標,正確的方法來優化?

我現在的做法是我有jQuery腳本從一個填充元素獲取座標,我使用MySQL填充座標列表。

// jQuery script to get the coordinates 

var coordArray = []; 

$(".marker").each(function(index,div) 
{ 

var coords = $(this).data("coords").split(","); 
coordArray.push([coords[0],coords[1]]); 

}); 


//while loop in PHP and I have displayed the coordinates within a <div> element: 

while($row = $sql->fetch(PDO::FETCH_ASSOC)) 
{ 
<div class="marker" data-coords="<?php echo $row['lat'].",".$row['lng'];?>">stuff</div> 
} 

有沒有更好的方法呢?或者這也可以嗎?

+1

使用JSON ..更有效率 – charlietfl

+0

@charlietfl你介意給我一個例子,我會怎麼做?或者如果有一個如何做的例子? – hellomello

回答

3

在你的PHP中,你可以在你的while循環中創建一個數組中的數值。然後輸出這個數組的JavaScript變量使用json_encode

$arr=array(); 
while($row = $sql->fetch(PDO::FETCH_ASSOC)){ 
    $arr[]=array($row['lat'], $row['lng']); 
} 

echo `<script>var markerData='. json_encode($arr).';</script>'; 

這將在頁面中的JavaScript數組,你會遍歷創建標記:

<script> 
var markerData=[ [100,40], [99,37]/* etc*/]; 
</script> 

你也可以使用AJAX根據retirve JSON數據在你的需求

+0

啊完美。謝謝! – hellomello