gpt4 book ai didi

java - 使用微调器过滤 map 标记

转载 作者:行者123 更新时间:2023-12-01 13:59:14 25 4
gpt4 key购买 nike

我有一个微调器,可以让我选择公司类型:汽车中心与卡车中心。

我从 JSON 中提取地址,并在 AsyncTask 中使用 map 标记显示它们。当我使用下面的代码而不使用 do 时,无论公司类型如何, map 都会显示所有标记。因此,我决定添加一个 do while 循环来添加 map 对象,而 JSON 中的公司是“汽车中心”。我也会对“卡车中心”做同样的事情。

我的问题是,使用 do while 循环时, map 上根本没有显示任何标记,但如果没有 do while 循环,所有标记都会显示。

do {  
data1 = new LocationData(lati, longi, nameFirst1 + " " + nameLast1,otherinfo);
}
while (company1.equals("Car Center"));

locationList.add(data1);

if (str.equals("Car Center")) {
publishProgress(data1);
}else {}
}


public LocationData onProgressUpdate(LocationData data1 ) {

return data1;

}
protected void onPostExecute(Long result) {
for(LocationData data1 : locationList){
mMap.addMarker(new MarkerOptions()
.position(new LatLng(data1.getLat(), data1.getLongitude()))
.title(data1.getName())
.snippet(data1.getOther()));
}


@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
str =(String)arg0.getSelectedItem();
Log.d("Spinner choice", str);
}

最佳答案

由于您尚未发布所有 AsyncTask,因此很难判断出了什么问题。例如:

  • 如何获取和写入company1
  • 什么时候写入str

如果您在处理过程中只是这样做,会发生什么?假设以 JSON 格式为所有获取的公司重写了 company1

if (company1.equals("Car Center")) {{  
locationList.add(new LocationData(lati, longi, nameFirst1 + " " + nameLast1,otherinfo));
publishProgress(data1);
}

否则,用伪代码编写:

fetch all companies

int totalCompanies = companies.size();
int progress = 0;

for all companies {
progress++;
if company equals("Car Center") {
locationList.add(new LocationData(lati, longi, nameFirst1 + " " + nameLast1,otherinfo));

// you do not have to use publishProgress
// but if you do I though giving a percentage of progress instead of data1 makes sense
publishProgress((progress/totalCompanies)*100);
}
}

我怀疑通过使用 while 循环,您根本得不到任何标记,可能是因为第一个元素不等于 Car Center,这使得 while 循环停止。

我对您的代码仍然有点困惑,因为似乎您为每个公司使用了一个新的 AsyncTask,只有一个元素,然后在其后抛出一个 while 循环。很可能我错过了一些东西,如果上述内容没有帮助,我会很乐意提供更多建议。

那么我只需要你发布完整的代码,以便我理解其背后的逻辑。

关于java - 使用微调器过滤 map 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19433054/

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