Project

General

Profile

« Previous | Next » 

Revision 0748ebca

Added by Andreas Kohlbecker almost 7 years ago

ref #6724 geolocation field: map improvement

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/component/common/GeoLocationField.java
49 49
    TextField errorRadiusField = new TextField("Error radius (m)");
50 50
    TextField referenceSystemField = new TextField("ReferenceSystem");
51 51

  
52
    private LMap leafletMap = new LMap();
52
    private LMap map = new LMap();
53
    private LMarker mapMarker = new LMarker();
53 54

  
54 55
    private CssLayout mapWrapper;
55 56

  
......
81 82
        root.addComponent(errorRadiusField, 0, 1);
82 83
        root.addComponent(referenceSystemField, 1, 1);
83 84

  
84
        leafletMap = new LMap();
85
        leafletMap.setZoomLevel(7);
86
        leafletMap.addBaseLayer(new LOpenStreetMapLayer(), null);
85
        map = new LMap();
86
        map.addBaseLayer(new LOpenStreetMapLayer(), null);
87
        map.setDraggingEnabled(false);
88
        map.setScrollWheelZoomEnabled(false);
89
        map.removeControl(map.getLayersControl());
87 90

  
88 91
        root.setColumnExpandRatio(2, 1.0f);
89 92
        root.setRowExpandRatio(1, 1.0f);
90 93

  
91
        root.addComponent(leafletMap, 2, 1);
92
        mapWrapper = new CssLayout(longLatParsed, leafletMap);
94
        root.addComponent(map, 2, 1);
95
        mapWrapper = new CssLayout(longLatParsed, map);
93 96
        root.addComponent(mapWrapper, 2, 0, 2, 1);
94 97
        mapWrapper.setSizeFull();
95 98
        mapWrapper.setStyleName("map-wrapper");
99
        longLatParsed.setWidthUndefined();
96 100

  
97 101
        longitudeField.addTextChangeListener(e -> updateParsedValue(longitudeField, e.getText()));
98 102
        latitudeField.addTextChangeListener(e -> updateParsedValue(latitudeField, e.getText()));
......
136 140
     */
137 141
    protected void updateMap() {
138 142
        longLatParsed.setValue(parsedPoint.getLongitudeSexagesimal() + "/" + parsedPoint.getLatitudeSexagesimal());
139
        leafletMap.removeAllComponents();
143
        map.removeComponent(mapMarker);
140 144
        if(parsedPoint.getLongitude() != null && parsedPoint.getLatitude() != null){
141
            leafletMap.setCenter(parsedPoint.getLongitude(), parsedPoint.getLatitude());
142
            leafletMap.addComponents(new LMarker(parsedPoint.getLongitude(), parsedPoint.getLatitude()));
145
            map.setZoomLevel(10);
146
            mapMarker.setPoint(new org.vaadin.addon.leaflet.shared.Point(parsedPoint.getLongitude(), parsedPoint.getLatitude()));
147
            map.addComponents(mapMarker);
148
            map.setCenter(parsedPoint.getLongitude(), parsedPoint.getLatitude());
149
        } else {
150
            map.setZoomLevel(1);
151
            map.setCenter(40, 0);
143 152
        }
144 153
    }
145 154

  

Also available in: Unified diff