private void setUpSeamapImageView() {
IHumanPlayer player = viewState.getPlayer();
Image mapImage = imageUtils.createMapWithCities(map, player);
final Font openPatrician18 = Font.font("OpenPatrician", 18);
mapImage = imageUtils.addCityNames(map, mapImage, openPatrician18);
Dimension2D origDim = new Dimension2D(mapImage.getWidth(), mapImage.getHeight());
double scale = controlHeight/origDim.getHeight();
Dimension2D targetDim = new Dimension2D(origDim.getWidth()*scale, origDim.getHeight()*scale);
mapImage = imageUtils.scale(mapImage, targetDim, scale);
Point2D coordinates = viewState.getCurrentCityProxy().get().getCity().getCoordinates();
coordinates = new Point2D(coordinates.getX() * scale, coordinates.getY() * scale);
if (seaMapView == null) {
seaMapView = (SeamapImageView) context.getBean("seamapImageView", new Object[]{mapImage, controlWidth, controlHeight, coordinates, scale});
} else {
seaMapView.resetImage(mapImage,controlWidth, controlHeight, scale);
}
imgView = seaMapView;
viewState.setState(EViewState.MAP);
}