1

我很不明白这里发生了什么,可能是因为我对 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在以下脚本中需要的变量数组(在 Google Maps 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
});

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

4

2 回答 2

1

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

于 2013-10-07T14:24:03.670 回答
0

路径是两个或多个点的集合,每个点是两个坐标的数组。当您使用 polylines[i] 时,您正在尝试用一个点绘制一条路径,这将失败

于 2013-10-07T14:14:12.367 回答