Javascript 每次循环覆盖变量
我正在通过循环从google directions获取大量long/lats。然而,longArr和latArr最后只有一个结果,就好像每次var都被清除一样Javascript 每次循环覆盖变量,javascript,Javascript,我正在通过循环从google directions获取大量long/lats。然而,longArr和latArr最后只有一个结果,就好像每次var都被清除一样 function showSteps(directionResult) { // For each step, place a marker, and add the text to the marker's // info window. Also attach the marker t
function showSteps(directionResult) {
// For each step, place a marker, and add the text to the marker's
// info window. Also attach the marker to an array so we
// can keep track of it and remove it when calculating new
// routes.
var myRoute = directionResult.routes[0].legs[0];
var longArr = "";
var latArr = "";
for (var i = 0; i < myRoute.steps.length; i++) {
var Long = myRoute.steps[i].lat_lngs[0].B;
var Lat = myRoute.steps[i].lat_lngs[0].k;
longArr = Long + Long + "|";
latArr = Lat + Lat + "|";
alert(longArr);
var marker = new google.maps.Marker({
position: myRoute.steps[i].start_location,
map: map
});
attachInstructionText(marker, myRoute.steps[i].instructions);
markerArray[i] = marker;
}
$('.long').val(longArr);
$('.lat').val(latArr);
}
函数显示步骤(方向结果){
//对于每个步骤,放置一个标记,并将文本添加到标记的位置
//信息窗口。同时将标记附加到数组,以便
//可以跟踪它,并在计算新值时将其删除
//路线。
var myRoute=directionResult.routes[0]。legs[0];
var longArr=“”;
var latArr=“”;
对于(var i=0;i
要连接字符串的现有值,还必须连接变量
备选案文1:
longArr = longArr + Long + Long + "|" ;
latArr = latArr + Lat + Lat + "|";
备选案文2:
longArr += Long + Long + "|" ;
latArr += Lat + Lat + "|";
首先,需要将数组声明为数组
var longArr = [];
var latArr = [];
然后您需要附加到它们
longArr.push(Long + Long);
latArr.push(Lat + Lat);
将数组写入字符串时,请使用join
$('.long').val(longArr.join('|'));
$('.lat').val(latArr.join('|');
这是真的,每次您声明
longArr
和latArr
。将+=
放在longArr
和latArr
之后,而不是=