我有一个脚本,通过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]));