0.8.0 • Published 4 years ago

@airglow/prefab-map v0.8.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
4 years ago

Prefab-Map

A custom Prefab for dealing with map views. It allows you to manage map zoom level, mode, position, and more.

Installation

npm install --save @airglow/prefab @airglow/prefab-map

Getting Started

To add the Map Prefab, you simply need to import the prefab somewhere in your code:

import '@airglow/prefab-map';

Now you're ready to go.

Usage

You may create a map prefab like so:

import prefab from '@airglow/prefab';

export default prefab({
  map: {
    type: 'map',
    defaultZoom: 3
  }
});

const mapState = state => ({
  zoom: prefab.map.zoom(state),
  mode: prefab.map.mode(state),
  position: prefab.map.position(state)
});

const mapHandlers = dispatch => ({
  onToggleMode: () => dispatch(prefab.map.toggleModeAction()),
  onPostiion: (latitude, longitude) => dispatch(prefab.map.positionAction({
    latitude, longitude
  })),
  onZoomOut: () => dispatch(prefab.map.zoomOutAction()),
  onZoomIn: () => dispatch(prefab.map.zoomInAction())
});

connect(mapState, mapHandlers)(View);

Selectors

The following items take the state object:

SelectorDescription
zoomThe current zoom level of the map
modeThe current mode (map or satellite)
positionThe current center point of the map ([latitude, longitude])

Handlers

The following actions can be dispatched to update the map's store:

HandlersInputDescription
toggleModeActionnoneToggles map mode betweein map and satellite
positionAction{ latitude: X, longitude: Y }Sets the map center position
zoomInActionnoneZooms the map in one level. Often used with a button.
zoomOutActionnoneZooms the map out one level. Often used with a button.
zoomActionnew zoom levelSets a new zoom level. Often used with mouse-wheel zooms
0.8.0

4 years ago

0.7.0

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago

0.5.2

4 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago