private void drawAirportsDetailed(final Graphics2D g) {
Collection<IAirport> cAirports = airports.values();
Iterator it = cAirports.iterator();
while (it.hasNext()) {
Airport current = (Airport) it.next();
ITower cTower = current.getTower();
Iterator<? extends IRunway> iRunways = current.getRunways();
String aName = current.getName();
//Draw the boundaries
float upperLon = current.getUpperLonBound();
float upperLat = current.getUpperLatBound();
float lowerLon = current.getLowerLonBound();
float lowerLat = current.getLowerLatBound();
if (allObjects.get("Airport: " + aName)) {
g.setColor(colors.get("DETAILED_AIRPORT_COLOR_BORDER").getColor());
g.drawRect(getX(lowerLon) - 10, getY(upperLat) - 10, getX(upperLon) - getX(lowerLon) + 20, getY(lowerLat) - getY(upperLat) + 20);
g.setColor(colors.get("DETAILED_AIRPORT_COLOR_NAME").getColor());
g.drawString(current.getID() + " " + aName, getX(lowerLon) - 10, getY(upperLat) - 15);
}
//Draw the Tower
if (cTower != null && allObjects.get("Tower: " + aName + " - " + cTower.getName())) {
g.setColor(colors.get("DETAILED_AIRPORT_COLOR_TOWER").getColor());
g.fillRect(getX(cTower.getLon()) - 3, getY(cTower.getLat()) - 3, 6, 6);
}
//Draw the Runways
while (iRunways.hasNext()) {
Runway cRunway = (Runway) iRunways.next();