gpt4 book ai didi

javascript - 如何组合这个值并添加到 TableView 行中?

转载 作者:行者123 更新时间:2023-12-02 15:00:46 25 4
gpt4 key购买 nike

我有一个来自谷歌远程矩阵 API 的列表值以及目的地列表。我现在所做的是:

1) 从地理位置获取输出目的地列表 google place api 和当前位置(经度和纬度)。2) 目的地和当前位置列表(经度和纬度)已从 google 距离矩阵 api 输出距离和持续时间列表。

现在有两个单独的输出,这是来自谷歌远程矩阵和目标列表的列表值。

两者都被带到输出函数以显示到表格 View 。所以现在的问题是,我想如何组合这两个值并显示在 TableView 行中?

我需要组合这个值并添加到 TableView 行中。我现在所拥有的只是添加到 TableView 行中的最后一个值。让我们看看代码和图像:

var getValue = function(matrix,all) {
var matrix;
var all;
//Ti.API.info(matrix);
//Ti.API.info(all);
var section = Titanium.UI.createTableViewSection();
var data = [];

for (var i=0;i<matrix.length;i++)
{
var distance = matrix[i].elements[0].distance.text;
Ti.API.info(distance);

var lblDist = Ti.UI.createLabel({
width: 'auto', height: 23, left: 52,
textAlign: "left", font: {fontSize: 10, fontFamily:"HelveticaNeue-Bold"}, bottom: -2});
lblDist.text = distance;
};

for (var c=0;c<all.length;c++)
{

var row = Ti.UI.createTableViewRow({height:45,selectedBackgroundColor: '#dbd9cc'});

var label = Ti.UI.createLabel({left:52,top:2,
width:245,height:30,font:{fontFamily:'Open Sans',fontSize:20,fontWeight:'bold'}});

var sTitle = all[c].name;
label.text = sTitle;
//lblDist.text = distance;

row.add(label);
row.add(lblDist);
section.add(row);
tableview.data=[section];
self.add(tableview);
}
};

当我执行 Ti.API.info(distance); 时,它将列出我想要添加到 TableView 中的所有输出。现在只有最后一个值添加到 TableView 中。

enter image description here

enter image description here

最佳答案

很抱歉,您的代码片段中有几个问题。

让我尝试在一些问题上为您提供帮助。

  1. 您需要注意 JavaScript 中变量的声明、作用域和提升 [ 1 ]。然后,您将意识到,在第一个循环结束时,您将仅存储最后一个 Label 对象,在您的情况下,文本 = 1.0kmLabel p>

  2. 在第二个循环中,会发生相同的错误。您正在向屏幕添加 all.length 乘以屏幕上的 tableview

  3. 您需要了解这两个循环将按顺序一个接一个地运行。那么,只有当两个循环具有相同的长度时,此解决方案才有效。

基于第三点,我可以编写一个示例解决方案。

var getValue = function(matrix,all) {
var lblDist = null;
var label = null;
var data = [];

for (var i=0;i<matrix.length;i++) {
var row = Ti.UI.createTableViewRow({height:45,selectedBackgroundColor: '#dbd9cc'});
lblDist = Ti.UI.createLabel({width:'auto', height: 23, left: 52, textAlign: "left", font: {fontSize: 10, fontFamily:"HelveticaNeue-Bold"}, bottom: -2});
lblDist.text = matrix[i].elements[0].distance.text;
label = Ti.UI.createLabel({left:52,top:2,width:245,height:30,font:{fontFamily:'Open Sans',fontSize:20,fontWeight:'bold'}});
label.text = matrix[i].elements[0].name.text;
row.add(label);
row.add(lblDist);
data.push(row);
}

self.add(tableview);
tableview.setData(data);
};

关于javascript - 如何组合这个值并添加到 TableView 行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com