@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
31 lines (30 loc) • 961 B
JavaScript
import MapPosition from '../../state/mapposition.js';
export default class MapPositionSerializer {
context;
constructor(context) {
this.context = context;
}
get state() {
return this.context.stateManager.state;
}
brainSerialize(mapPosition) {
const pos = {
center: mapPosition.center,
resolution: mapPosition.resolution,
crosshair: mapPosition.crosshair,
tooltip: mapPosition.tooltip,
markers: mapPosition.markers
};
return JSON.stringify(pos);
}
brainDeserialize(str) {
const pos = JSON.parse(str);
const mapPosition = new MapPosition();
mapPosition.center = pos.center;
mapPosition.resolution = pos.resolution;
mapPosition.crosshair = pos.crosshair;
mapPosition.tooltip = pos.tooltip;
mapPosition.markers = pos.markers;
this.state.position = mapPosition;
}
}