Facade: MapViewport
A facade is required to encapsulate the logic revolving around the map viewport. This facade will provide getter properties to retrieve observables to NgRx state for various selectors. This facade will provide methods to dispatch actions to update settings state. This facade may also contain higher level methods and properties to encapsulate more complex logic that revolves around ui panel display state.
Properties:
-
location$
: Observable of tuple[lat: number, long: number]
-
zoom$
: Observable of number
Methods:
-
setLocation
: Dispatch action to set location of map -
setZoom
: Dispatch action to set zoom level of map -
viewportChanged
: Dispatch action to change map viewport