【发布时间】:2015-03-11 16:00:59
【问题描述】:
我正在尝试使用“标题元素”从数组中输出所有值。有 10 个值 - 标题。问题:
- for 循环输出所有 10 个值,但它会再次执行 10 次。
标题 1 标题 2 标题 3 标题 4 标题 5 标题 6 标题 7 标题 8 标题 9 标题 10
(再次输出 10 次)
如何解决这个问题我无法理解,代码:
该函数将数据添加到数组p_marker.push(marker);中。
function placesToVisitMarker(results, status) {
image = 'pin56.png';
console.log(results);
for (var i = 0; i < results.length; i++) {
var marker = new google.maps.Marker({
position: results[i].geometry.location,
map: map,
title: results[i].name,
icon: image
});
distanceService.getDistanceMatrix({
origins: [currentLocation],
destinations: [results[i].geometry.location],
travelMode: google.maps.TravelMode.WALKING
}, callback);
p_marker.push(marker);
}
}
这个函数是我想将标题和距离输出到#list div
function callback(response, status) {
if (status = "OK") {
for (var i = 0; i < p_marker.length; i++) {
$("#list").append(p_marker[i].title + "</br>");
}
//$("#list").append( +" "+ response.rows[0].elements[0].duration.text + "</br>")
} else {
$("#list").append("ERROR" + status);
}
}
【问题讨论】:
-
console.log(results); ?它打印什么? p_marker 中的 thr 是什么?
-
在placesToVisitMarker 中,您将每个tym 添加一个元素到p_marker。然后,在回调中,你再次遍历 p_marker 的元素。就像,placesToVisitMarker 内的 for 循环被调用 10 次,并且对于每个 tym,回调添加的标题是元素 p_marker 的许多倍。你似乎有问题。
-
(与您的问题没有直接关系)您的代码似乎在
if (status = "OK") {中缺少==。 -
谢谢,我想我明白你的意思了,我没有意识到回调是在另一个 for 循环中,再次迭代 10 次是有意义的,感谢您指出这一点。
-
@collapsar 是的,没有看到那个,但它没有产生任何错误,谢谢。
标签: javascript jquery arrays google-maps-api-3