Awesome
mapbox-gl-valhalla
This module adds a control which can integrate with valhalla api.
Installation:
npm i @watergis/mapbox-gl-valhalla --save
Demo:
See codesandbox.
See demo.
Usage:
import { MapboxValhallaControl} from "@watergis/mapbox-gl-valhalla";
import '@watergis/mapbox-gl-valhalla/css/styles.css';
import mapboxgl from 'mapbox-gl';
const map = new mapboxgl.Map();
map.addControl(new MapboxValhallaControl(
'http://localhost:8002',
{
Contours: [
{
time: 3,
distance: 1,
color: 'ff0000',
},
{
time: 5,
distance: 2,
color: 'ffff00',
},
{
time: 10,
distance: 3,
color: '0000ff',
},
]
}
), 'top-right');
Options
You can specify default option as follows.
- URL
- Please specify your URL for valhalla services. eg.
http://localhost:8002
- Please specify your URL for valhalla services. eg.
- Contours
- See the specification of valhalla isochrone API here.
- A JSON array of contour objects with the time in minutes in kilometers and color to use for each isochrone contour. You can specify up to four contours.
- default is as follows:
[
{
time: 5,
distance: 1,
color: 'ff0000',
},
{
time: 10,
distance: 2,
color: 'ffff00',
},
{
time: 15,
distance: 3,
color: '0000ff',
},
]
Development:
yarn run lint # check styling of source code
yarn run lint:fix # fix styling by eslint
yarn run dev
open http://localhost:8080.
If there are any changes on source code, it will be reflected automatically.
Build package:
yarn run build
The modules will be generated under dist
folder.
Deploy to Github pages
yarn run deploy
It will deploy files under example
folder to gh-pages.
How to release
npm version patch # it increase patch version 0.0.X
npm version minor # it increase minor version 0.x.0
npm version major # it increase major version x.0.0
git push origin main --tag
# release CI will create draft release in Github pages, then publish it if it is ready.
# publish CI will deploy npmjs and Github Packages.
Contribution
This Mapbox GL Valhalla plugin is still under development. so most welcome any feedbacks and pull request to this repository.