繁体   English   中英

使用Google Maps API和数据库Javascript MySQL PHP中的坐标创建线

[英]Creating lines using google maps api with coordinates from database javascript MySQL PHP

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

这些线从起点开始到固定点(以代码给出),然后在终点处终止。

在这里,我从数据库中获取数据并将其存储在矩阵($ 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/

希望我的错误会尽快得到解决。

您的问题可能就是这个。 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++)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM