【问题标题】:Creating lines using google maps api with coordinates from database javascript MySQL PHP使用来自数据库 javascript MySQL PHP 的坐标使用 google maps api 创建线条
【发布时间】:2016-09-02 09:10:29
【问题描述】:

我想创建一个导航类型的应用程序,我必须在其中画一条线,其中起点和终点存储在数据库中。

线从起点开始到一个固定点(在代码中给出)并在终点终止。

在这里,我从数据库中获取数据并将其存储在矩阵 ($locations) 中。 连接正确,数据也存储在矩阵中。

<?php
    $result = mysqli_query($bd,"SELECT * FROM ship WHERE id=".$id);
    $locations = array();
    while($row = mysqli_fetch_array($result)) {
        array_push($locations, $row);
    }
    $nrows = mysqli_num_rows($result);
?>

这是为 JavaScript 创建 2 个变量

var nrows = <?php echo json_encode($nrows,JSON_NUMERIC_CHECK);?>;
var locMatrix = <?php echo json_encode($locations,JSON_NUMERIC_CHECK);?>;

我创建了另一个数组 DrivePath,它有助于设置坐标和创建线条。

for(var i=1; i<=nrows; i++)
        {
          console.log(locMatrix[i][0]);
            DrivePath.push(new google.maps.LatLng(locMatrix[i][0], locMatrix[i][1]),
                  new google.maps.LatLng(17.8674, 66.543),
                  new google.maps.LatLng(locMatrix[i][2], locMatrix[i][3]));
        }

我在“console.log(locMatrix[i][0]);”这一行遇到错误声明“未定义不是对象(评估'locMatrix [i]')”

完整的代码在这里

https://jsfiddle.net/Prashant_mahajan/u5Lz9jqs/

希望我的错误能尽快解决。

【问题讨论】:

  • var locMatrix = ... 开头的行呈现的 javascript 是什么样的?也许是一个空数组?

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


【解决方案1】:

你的问题可能是这样的。 Javascript 数组是零索引的,所以假设你在 locMatrix 中有 5 行,要循环它们,你需要从 locMatrix[0] 到 locMatrix[4]

你知道你有nrows 行。但是,当您确实需要从 0 循环到 nrows-1 时,您是从 1 循环到 nrows。

它可能从第二行到最后一行循环正常,然后尝试在另一行上进行另一次迭代,比 locMatrix 中的多一次。

试试

for(var i=0; i < nrows-1; i++)

或者只是

for(var i=0; i < locMatrix.length; i++)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 2011-08-23
    • 2017-08-23
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    相关资源
    最近更新 更多