0

是否有从 mysql 获取 Google Maps 坐标的正确方法?

我正在做的当前方式是我有 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>
}

有更好的方法吗?或者这也可以吗?

4

1 回答 1

3

在您的 php 中,您将在while循环中从 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 回答