/** DOCUMENT ME! */ private void init() { // wird das aktuelle crs unterstützt ? if (!isCrsSupported(CismapBroker.getInstance().getSrs())) { showCrsNotSupported(); // noch nicht initialisiert ? } else if (!isInited()) { final CidsBean pointBean = getCidsBean(); if (pointBean != null) { pointBean.addPropertyChangeListener(getCidsBeanListener()); final double pointValue = getValue(); setValueToLabel(pointValue); labGwk.setText( Long.toString(LinearReferencingHelper.getRouteGwkFromStationBean(pointBean))); if (isEditable()) { setValueToFeature(pointValue); setValueToSpinner(pointValue); // badgeom feature und button nur falls die realgeom weiter als 1 von der route entfernt // ist final double distance = LinearReferencingHelper.distanceOfStationGeomToRouteGeomFromStationBean(pointBean); if (distance > 1) { setBadGeomFeature( createBadGeomFeature( LinearReferencingHelper.getPointGeometryFromStationBean(pointBean))); } else { setBadGeomFeature(null); } // die aktuelle cidsBean als listener bei stationtomapregistry anmelden FEATURE_REGISTRY.addListener(pointBean, getMapRegistryListener()); // feature erzeugen und auf der Karte anzeigen lassen final LinearReferencedPointFeature pointFeature = FEATURE_REGISTRY.addStationFeature(pointBean); if (ico != null) { pointFeature.setIconImage(ico); } pointFeature.setEditable(true); // spinner auf intervall der neuen route anpassen ((SpinnerNumberModel) getValueSpinner().getModel()) .setMaximum(Math.ceil(pointFeature.getLineGeometry().getLength())); // auf änderungen des features horchen pointFeature.addListener(getFeatureListener()); firePointCreated(); } updateBadGeomButton(); updateSplitButton(); // editier panel anzeigen showCard(Card.edit); // fertig intialisiert setInited(true); } else { if (isEditable()) { showCard(Card.add); } else { setErrorMsg("keine Station zugewiesen"); showCard(Card.error); } } } }