0

ここにコードを入力してから、以下で問題を説明します。

for (int i = 0; i < sales.totalSales(); i++) {
            EntidadGeo gec = sales.getSale(i).getCustomer();
            EntidadGeo get = sales.getSale(i).getStore();                               
            int[] c = geo.georeferenciar(sales.getSale(i).getCustomer().getCP(), ventas.getVenta(i).getCCustomer().getCalle(), ventas.getVenta(i).getCCustomer().getProvincia());
            gec.setX(c[0]);
            gec.setY(c[1]);             
            int[] c2 = geo.georeferenciar(ventas.getSale(i).getStore().getCP(), ventas.getVenta(i).getStore().getCalle(), ventas.getSale(i).getStore().getProvincia());
            get.setX(c2[0]);
            get.setY(c2[1]);
            mapaventas.representar(gec, get);
            }

私のプロジェクトでやりたいことは、マップに印刷することです。ポイントは、マップに描く必要があるのは、顧客と店舗であり、1 つの店舗が同時に多くの顧客に販売できるということです。私のプロジェクトでは MVC パターンを使用しています。この部分はコントローラー部分に属し、モデル部分ではマップを描画します。現在は機能していますが、問題は、私のプロジェクトが 1 店舗あたり 4 人の顧客ではなく、1 人の顧客と 1 店舗を描画することです。

ありがとう

4

2 に答える 2

1

あなたの問題はここにあります:

mapaventas.representar(gec, get);

Map<Vendor, Client>そのため、ベンダーごとに 1 つのクライアントのみを関連付けるがあるようです。上記の方法が何をするかわからないので、これを推測する必要があります。私が正しければ、おそらくより良い解決策はMap<Vendor, ArrayList<Client>>. ベンダーを複数のクライアントに関連付けることができるようにします。次に、次のようなことをします

ArrayList<Client> getList = mapaventas.get(gec);
// if the above is null, create the arraylist first and put it 
// and the gec into the map.
getList.add(get);

私の変数の名前と型はあなたのものと同じではないことに注意してください。そうでない場合は、お尋ねください。

于 2013-05-11T16:34:26.940 に答える