react-ol

0.1.12 • Public • Published

A thin wrapper for OpenLayers3 in React.

The goal is to be able to write applications using OpenLayers maps in a declarative way. For example, the following is JSX, which can be returned by the render() method on a React component, to generate a map with a red square near the equator.

<Map view=<View resolution={10000} center={[0, 0]}/>>
  <layer.Tile>
    <source.OSM />
  </layer.Tile>
  <layer.Vector>
    <source.Vector>
      <Feature style={{stroke: {color: [255, 0, 0, 1]}}}>
        <geom.LineString>
          {[[0, 0], [100000, 0], [100000, 100000], [0, 100000]]}
        </geom.LineString>
      </Feature>
    </source.Vector>
  </layer.Vector>
</Map>

To understand what each element does, read the OpenLayers API documentation.

Styles

Are declared using a JSON object, passing through the properties you'd like on the final object.

When creating an Icon, Circle or RegularShape, a type parameter must be present, with the value of icon, circle, or regular-shape.

Example:

image: {
    type: 'circle',
    radius: 10,
    fill: { color: '#666666' },
    stroke: { color: '#bada55', width: 1 }
}

It's early days! If you're familiar with react and/or openlayers and are interested in helping, please get in touch. Available on github and npm.

I am especially interested in assistance with having each component be optionally controlled. This would allow binding of the components with, say, Redux and for sophisticated state management outside of OpenLayers.

Readme

Keywords

none

Package Sidebar

Install

npm i react-ol

Weekly Downloads

25

Version

0.1.12

License

MIT

Last publish

Collaborators

  • ansgar