会社の種類を選択できるスピナーがあります: カー センターとトラック センター。
JSON から住所を取得し、AsyncTask でマップ マーカーと共に表示します。会社の種類に関係なく、マップにすべてのマーカーが表示されているときに、do なしで以下のコードを使用すると。そのため、JSON 内の会社が「自動車センター」である間にマップ オブジェクトを追加する do while ループを含めることにしました。「トラックセンター」も同様に行います。
私の問題は、do while ループではマーカーがまったくマップに表示されないことですが、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);
}