试图将标记数据从mySQL循环到map api会导致"无效的简写属性初始化程序"

时间:2017-04-25 23:50:19

标签: javascript php mysql google-maps google-maps-api-3

我试图将mySQL数据库中的数据循环到markersData以在google地图上生成图钉。当我删除php时,我的循环语句上方手动输入的数据有效,但我无法通过循环显示地图。

var markersData = [
    {
        lat: 40.6247167,
        lng: -8.7129167,
        name: "Camping Gafanha da Nazaré",
        time:"Rua Diogo Cão, 125"
    },
    <?
    $query ="SELECT * FROM `locations` WHERE `USER`='$user' ORDER BY TIME DESC";
    $result = $conn->query($query);
    if ($result->num_rows > 0) {
// output data of each row
        while($row = $result->fetch_assoc()) {
            $mrklat =$row["MRKLAT"];
            $mrklng =$row["MRKLNG"];
            $Time =$row["TIME"];
            $test[] ='{ lat="' . $row['MRKLAT'] . '", lng="' . $row['MRKLNG'] . '" }';
        }
        //Doesn't comma last item
        echo implode(',', $test);
    }
    ?>
];

如果我只是将其输出到网页中以便您更方便地检查语法,那么这里是查询的输出:

{ lat="53.218278", lng="-0.547646" },{ lat="53.218278", lng="-0.547646" }

1 个答案:

答案 0 :(得分:0)

变化:

$test[] ='{ lat="' . $row['MRKLAT'] . '", lng="' . $row['MRKLNG'] . '" }';

要:

$test[] ='{ lat:"' . $row['MRKLAT'] . '", lng:"' . $row['MRKLNG'] . '" }';