来自 JSON 的 Javascript 数组不起作用

Javascript array from JSON not working

本文关键字:数组 不起作用 Javascript JSON 来自      更新时间:2023-09-26

我完全不明白这里发生了什么,可能是因为我缺乏 JSON 知识。

我有一个 php 脚本将 JSON 返回到 ajax 查询中(带有 dataType:'json' )。这是我在 javascript 中最终得到的内容:

 alert(JSON.stringify(data.polylines[i]));

我想data.polylines[i]已经是一个对象,因为我需要JSON.stringify()函数才能正确显示它。此警报显示:

 [["40.632099151611","8.2907695770263"],["57.774700164794","11.870400428772"]]

这正是我在以下脚本中为变量path所需的数组(在谷歌地图 API 中画一条线):

map.drawPolyline({
     path: path,
     strokeColor: '#131540',
     strokeOpacity: 0.6,
     strokeWeight: 6
});

当我这样做时:

 var path = data.polylines[i];
 map.drawPolyline({
     path: path,
     strokeColor: '#131540',
     strokeOpacity: 0.6,
     strokeWeight: 6
});

。它不起作用,但是当我这样做时:

var path = [["40.632099151611","8.2907695770263"],["57.774700164794","11.870400428772"]];
 map.drawPolyline({
     path: path,
     strokeColor: '#131540',
     strokeOpacity: 0.6,
     strokeWeight: 6
});

它有效。我无法弄清楚为什么一个有效而不是另一个,因为"警报"测试显示完全相同的值......

抱歉,我的错误是@Pointy指出的循环条件。它现在正在工作。

路径是两个或多个点的集合,每个点是两个坐标的数组。当你使用折线[i]时,你试图用一个点画一条路径,这将失败