PHP 为 Google Maps 生成的 JSON:一个小谜团


PHP-generated JSON for Google Maps: a tiny mystery

我正在使用PHP脚本(这个)为谷歌地图生成一个JSON文件。

这是PHP代码(注意:我正在使用Laravel):

<?php
$query = "SELECT id, info, lat, lng FROM places";
$results = DB::select($query);
$myLocations = array();
$i = 0;
$testLoc = array('loc95' => array( 'lat' => 15, 'lng' => 144.9634 ));
foreach ($results as $result)
{
  $myLocation = array(
    'loc'.++$i => array(
    'lat' => round((float)$result->lat, 4),
    'lng' => round((float)$result->lng, 4)
  ));
  $myLocations += $myLocation;
}
$myLocations += $testLoc;
echo json_encode($myLocations);
?>

这是输出:

{"loc1":{"lat":45.4833,"lng":9.1854},"loc2":{"lat":45.4867,"lng":9.1648},"loc3":{"lat":45.4239,"lng":9.1652},"loc95":{"lat":15,"lng":144.9634}}

不幸的是,我用来将JSON数据放入Google地图的脚本一直忽略来自MySQL数据库的任何数据,并且仅显示测试数据位置。我试图交换数据,将数据库中的相同信息放入测试数据中......没什么,我一直只看到测试数据。

但是,真的:我不知道为什么。我错过了什么... ?

您写道,您正在使用另一个脚本,而另一个脚本仅在Google地图上显示测试位置。

我的

猜测是你没有根据自己的需要更新其他脚本,特别是我的水晶球告诉我你仍然有这一行:

setMarkers(locs);//Create markers from the initial dataset served with the document.

在你的问题中,你只展示了有效的部分,我同意,但你只提到"其他东西"不起作用。如果您想回答该部分,请尝试重新回答您的问题并包括导致您问题的部分。