【问题标题】:coordinates for google maps from MySQL database, the right way for optimization?来自 MySQL 数据库的谷歌地图坐标,优化的正确方法?
【发布时间】:2012-12-14 04:39:54
【问题描述】:

是否有从 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>
}

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

【问题讨论】:

  • 使用 JSON.. 效率更高
  • @charlietfl 你介意举个例子我会怎么做吗?或者如果有一个如何做到这一点的例子?

标签: jquery mysql optimization google-maps-api-3


【解决方案1】:

在您的 php 中,您将在 while 循环中从 DB 创建一个值数组。然后使用json_encode将该数组输出到一个javascript变量

$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 数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-21
    • 2018-05-04
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    相关资源
    最近更新 更多