我想创建一个导航类型的应用程序,其中我必须画一条线,其中起点和终点存储在数据库中。
线从起点开始到固定点(以代码给出),然后在终点处终止。
在这里,我从数据库中获取数据并将其存储在矩阵($ 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++)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句