11import { Map , View } from "ol" ;
2- import type { ViewOptions } from "ol/View" ;
2+ // import type { ViewOptions } from "ol/View";
33
44// import TileLayer from "ol/layer/Tile";
55
@@ -33,26 +33,43 @@ import type { MyMapOptions } from ".";
3333import type { Coordinate } from "ol/coordinate" ;
3434
3535// ...
36+ /*
3637type LayerStore = {
3738 [key: string]: Layer;
3839};
40+ */
3941
40- //
42+ //
43+ /*
4144type ControlStore = {
4245 [key: string]: Control;
4346};
47+ */
4448
4549//
4650type Metadata = {
47- layers : any [ ] ; //{ [key: string]: any };
48- controls : any [ ] ; //{ [key: string]: any };
51+ layers : any [ ] ;
52+ controls : any [ ] ;
4953} ;
5054
5155const TYPE_IDENTIFIER = "@@type" ;
5256const GEOJSON_IDENTIFIER = "@@geojson" ;
5357
5458const jsonConverter = new JSONConverter ( ) ;
5559
60+ function parseViewDef ( viewDef : JSONDef ) : View {
61+ const view = jsonConverter . parse ( viewDef ) as View ;
62+ const center = view . getCenter ( ) ;
63+ console . log ( "view center" , center )
64+ if ( center && view . getProjection ( ) . getCode ( ) !== "EPSG:4326" ) {
65+ const centerTransformed = fromLonLat ( center ) ;
66+ console . log ( "view center transformed" , centerTransformed ) ;
67+ view . setCenter ( centerTransformed ) ;
68+ }
69+
70+ return view ;
71+ }
72+
5673function parseLayerDef ( layerDef : JSONDef ) : Layer {
5774 const layer = jsonConverter . parse ( layerDef ) ;
5875 layer . set ( "id" , layerDef . id ) ;
@@ -74,8 +91,6 @@ export default class MapWidget {
7491 _container : HTMLElement ;
7592 _map : Map ;
7693 _metadata : Metadata = { layers : [ ] , controls : [ ] } ;
77- // _layerStore: LayerStore = {};
78- // _controlStore: ControlStore = {};
7994
8095 constructor ( mapElement : HTMLElement , mapOptions : MyMapOptions ) {
8196 let baseLayers : Layer [ ] = [ ] // defaultLayers;
@@ -108,6 +123,7 @@ export default class MapWidget {
108123 */
109124
110125 // TODO: Move to func 'parseView'
126+ /*
111127 const view = jsonConverter.parse(mapOptions.view) as View;
112128 const center = view.getCenter();
113129 console.log("center", center)
@@ -116,6 +132,8 @@ export default class MapWidget {
116132 console.log("centerTransformed", centerTransformed);
117133 view.setCenter(centerTransformed);
118134 }
135+ */
136+ const view = parseViewDef ( mapOptions . view ) ;
119137
120138 this . _container = mapElement ;
121139 this . _map = new Map ( {
0 commit comments