0

Google マップの mysql から座標を取得する正しい方法はありますか?

私がやっている現在の方法は、MySQL を使用して座標のリストを設定する、設定された要素から座標を取得する jQuery スクリプトを使用することです。

// 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>
}

そうするより良い方法はありますか?それともこれでもいいのでしょうか?

4

1 に答える 1

3

whilePHP では、ループ内で DB からの値の配列を作成します。次に、この配列を 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 を使用して JSOn データを取得することもできます。

于 2012-12-29T01:29:40.660 に答える