@@ -74,8 +74,8 @@ export default class MapWidget {
74
74
_container : HTMLElement ;
75
75
_map : Map ;
76
76
_metadata : Metadata = { layers : [ ] , controls : [ ] } ;
77
- _layerStore : LayerStore = { } ;
78
- _controlStore : ControlStore = { } ;
77
+ // _layerStore: LayerStore = {};
78
+ // _controlStore: ControlStore = {};
79
79
80
80
constructor ( mapElement : HTMLElement , mapOptions : MyMapOptions ) {
81
81
let baseLayers : Layer [ ] = [ ] // defaultLayers;
@@ -97,14 +97,17 @@ export default class MapWidget {
97
97
98
98
let baseControls : Control [ ] = [ ] ;
99
99
// TODO: Use 'addControls' after map was created instead
100
+ /*
100
101
if (mapOptions.controls !== undefined) {
101
102
for (let controlJSONDef of mapOptions.controls) {
102
103
const control = jsonConverter.parse(controlJSONDef);
103
104
baseControls.push(control);
104
105
this._controlStore[controlJSONDef.id] = control;
105
106
}
106
107
}
108
+ */
107
109
110
+ // TODO: Move to func 'parseView'
108
111
const view = jsonConverter . parse ( mapOptions . view ) as View ;
109
112
const center = view . getCenter ( ) ;
110
113
console . log ( "center" , center )
@@ -117,13 +120,16 @@ export default class MapWidget {
117
120
this . _container = mapElement ;
118
121
this . _map = new Map ( {
119
122
target : mapElement ,
120
- // view: new View(mapOptions.viewOptions),
121
- // view: new View(this.transformCenter(mapOptions.viewOptions)),
122
123
view : view ,
123
124
controls : defaultControls ( ) . extend ( baseControls ) ,
124
125
layers : baseLayers ,
125
126
} ) ;
126
127
128
+ // Add controls
129
+ for ( let controlDef of mapOptions . controls || [ ] ) {
130
+ this . addControl ( controlDef ) ;
131
+ }
132
+
127
133
// Add layers
128
134
for ( let layerDef of mapOptions . layers || [ ] ) {
129
135
this . addLayer ( layerDef ) ;
@@ -152,23 +158,12 @@ export default class MapWidget {
152
158
return this . _metadata ;
153
159
}
154
160
155
- // TODO: Obsolete
156
- getLayerOld ( layerId : string ) : Layer {
157
- return this . _layerStore [ layerId ] ;
158
- }
159
-
160
- // TODO: Obsolete
161
- /*
162
- getControlOld(controlId: string): Control {
163
- return this._controlStore[controlId];
164
- }
165
- */
166
-
167
161
setViewFromSource ( layerId : string ) : void {
168
- const layer = this . getLayer ( layerId ) ; // this._layerStore[layerId];
162
+ const layer = this . getLayer ( layerId ) ;
169
163
const source = layer ?. getSource ( ) ;
170
164
const view = source ?. getView ( ) ;
171
- if ( view !== undefined ) this . _map . setView ( view ) ;
165
+ if ( view )
166
+ this . _map . setView ( view ) ;
172
167
}
173
168
174
169
setExtentFromSource ( ) : void {
@@ -220,12 +215,11 @@ export default class MapWidget {
220
215
221
216
removeLayer ( layerId : string ) : void {
222
217
const layer = this . getLayer ( layerId ) ;
223
- if ( layer === undefined )
224
- return ;
225
-
226
- this . _map . removeLayer ( layer ) ;
227
- this . _metadata . layers = this . _metadata . layers . filter ( item => item [ "id" ] != layerId ) ;
228
- console . log ( "layer" , layerId , "removed" , this . _metadata ) ;
218
+ if ( layer ) {
219
+ this . _map . removeLayer ( layer ) ;
220
+ this . _metadata . layers = this . _metadata . layers . filter ( item => item [ "id" ] != layerId ) ;
221
+ console . log ( "layer" , layerId , "removed" , this . _metadata ) ;
222
+ }
229
223
}
230
224
231
225
// --- Controls
0 commit comments