我正在循环以从谷歌方向获得一大堆长/拉。但是,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 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);
}
答案 0 :(得分:0)
要与字符串的现有值连接,您也必须连接变量。
选项1:
longArr = longArr + Long + Long + "|" ;
latArr = latArr + Lat + Lat + "|";
选项2:
longArr += Long + Long + "|" ;
latArr += Lat + Lat + "|";
答案 1 :(得分:0)
首先,您需要将数组声明为数组。
var longArr = [];
var latArr = [];
然后你需要追加他们
longArr.push(Long + Long);
latArr.push(Lat + Lat);
将数组写入字符串时使用join
$('.long').val(longArr.join('|'));
$('.lat').val(latArr.join('|');