必要なすべての変数をmakeAirportManagers()
返す必要があり、グローバルなこの関数があります(ダーティ処理スタイル)。ArrayList <MarkerManager>
map, countryMarkers
airportMarkers
ArrayList makeAirportManagers(){
ArrayList managers = new ArrayList();
for (Marker country : countryMarkers){
MarkerManager currentMarkerManager = new MarkerManager();
for (Marker airport : airportMarkers){
Location airportLocation = airport.getLocation();
ScreenPosition airportScreenPos = map.getScreenPosition(airportLocation);
if(country.isInside(map, airportScreenPos.x, airportScreenPos.y)){
currentMarkerManager.addMarker(airport);
}
}
currentMarkerManager.disableDrawing();
managers.add(currentMarkerManager);
map.addMarkerManager(currentMarkerManager);
airportManagersBuild = true;
return managers;
}
}
コンソールに次のように出力されます。このメソッドは、Type ArrayList の結果を返す必要があります
そして、本当に私は理由を知りません!
コードの別のバージョンでは、アイテムがmanagers
空でないことを確認するためにアイテムを数え、期待どおりに 178 アイテムを取得します。
Unfolding ライブラリを使用しているため、Processing 1.5.1 を使用しています。