UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

31 lines (30 loc) 961 B
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; } }