spline-wrapper

1.1.1 • Public • Published

Spline Wrapper

An unofficial plugin component for react-map-gl

Available functions

  • Create curved lines (No more straight lines with sharp corners! 😉)
  • Add arrow to start/center/end of lines (Hopefully, this is helpful! 🥳)

Here is a screenshot of the output after using both functions provided: image
Run this project to see the demo! (Don't forget to add the token and map style first)

Props

Props Description
children Source component
arrow {icon, position} object where icon sets the loaded arrow image's name and
position can be set to either start,center or end
lines array of {from:[longitude, latitude], to:[longitude, latitude], properties:{}}

Getting Started

Setup

How to use SplineWrapper

  • Import the component: import SplineWrapper from "spline-wrapper"
  • Already have an existing Source and Layer components? Don't have them yet? Not an issue! 😉
<Map>
  <SplineWrapper>
    //Copy&Paste or Create your Source and Layer components here
    <Source data={data}>
      <Layer/>
      ...
    </Source>
  </SplineWrapper>
</Map
<SplineWrapper arrow={{
  icon:"arrow", // Pass the name of the loaded/added arrow image
  position:"start" // Can be either start, center or end
}}>
  ...
</SplineWrapper>
  • Want curvy lines? Use lines props:
const lines = [
  {
    from:[51.5072, -0.1276],  // longitude, latitude
    to:[48.8566, 2.3522],     // longitude, latitude
    properties:{...}  // optional
  },
  {
    from:[48.8566, 2.3522],  // longitude, latitude
    to:[4.2105, 101.9758],     // longitude, latitude
    properties:{...}  // optional
  }
]
<SplineWrapper lines={lines}>
  ...
</SplineWrapper>

Still confused? Check out the example here 😁

Notes 📝

  • There is no control points prop (to control the curve level/intensity) available at the moment but might be added if lots of people need it
  • Curves are only applied to lines generated from the lines prop
  • Load and add icon image before passing the name to arrow prop
  • The arrows are applied to every feature of type LineString (including those generated from lines prop)
  • The arrow points to the direction of the line
  • Since this is just a wrapper component, you should have almost full control over react-map-gl related uses

Enjoy!

Package Sidebar

Install

npm i spline-wrapper

Weekly Downloads

4

Version

1.1.1

License

ISC

Unpacked Size

28.6 kB

Total Files

7

Last publish

Collaborators

  • a-amon