通过json返回数据的坐标对



我有一个脚本,通过JS $提交参数。在我的PHP页面上,我查询数据库并返回匹配的数据。

echo json_encode(array("matches" => $match));

它工作得很好,但现在我需要添加坐标日期作为纬度/纬度对。所以我能够通过循环得到这个,但我不确定如何将它返回到我的脚本。

$crds = array();
foreach ($data as $row) {
$lat = $row['lat'];
$lon = $row['lon'];
$key = $row['key'];
$crds[$key] = $lat.'|'.$lon;
...
}
echo json_encode(array("coords" => $crds));

当数据返回到我的脚本,我可以看到响应:

{"coords"["44.76315 | -101.8113","41.76313 | -111.8993"、"40.76299 | -112.8994"]}

我不确定如何格式化它,所以我用管道连接它,这可能是一个坏主意。同样,在我的脚本中,我需要循环它以输出一个数组,它看起来像这样:

markerArray.push(L.marker([44.76315,-101.8113]));
markerArray.push(L.marker([41.76313,-111.8993]));
markerArray.push(L.marker([40.76299,-112.8994])); 

感觉我没有取得任何进展,正在做出糟糕的代码选择…需要一些帮助来解开这个。谢谢。

数据看起来已经是正确的结构,所以只需按原样响应:

echo json_encode(array("coords" => $data));

然后在js中循环它以添加每一个到markerArray (data是ajax响应)。

data.coords.forEach((coord) => markerArray.push(L.marker([coord.lat,coord.lon]));

最新更新