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