3

我正在使用 PHP 脚本(这个)为 Google 地图生成 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 Map 的脚本一直忽略来自 MySQL 数据库的任何数据,并且只显示测试数据位置。我试图交换数据,将测试数据放入数据库中找到的相同信息......什么都没有,我一直只看到测试数据。

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

4

1 回答 1

0

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

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

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

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

于 2013-09-20T10:15:44.000 回答