abrensch/brouter@c9ae7c8681 changed indexing of voice hint ids, because some new hints were inserted in the middle instead of strictly at the end, changing the numbering of existing ids. For example, now id `12` was sent to indicate a right u-turn, while we still assume the old meaning of `12`, i.e. "off route". This clearly was an API break. This leads us to abort exporting with the Gpsies turn instructions style, since `OFFR` has an `undefined` symbol assigned, as well as emitting wrong voice hints for ids after `9`. Another unwelcome side effect is showing negative exit numbers for roundabouts. This breakage in the GeoJSON HTTP API has been shipping in BRouter 1.7.0 and 1.7.1 and finally got fixed with abrensch/brouter@82fecf9 contained in BRouter 1.7.2 or later. Earlier releases like 1.6.3 are also unaffected. To avoid emitting incorrect voice hints in BRouter-Web, running with broken versions of BRouter should be avoided. By checking the "Creator" field after receiving the first response from BRouter, we can now emit a warning if the version of BRouter used is unsupported. The warning mostly targets administrators and power users, i.e. those responsible for choosing the software versions used, and it is also only shown once per session. Note that the version check is compatible with the common "SemVer" scheme, so the check should continue working and even support more complex version compatibility scenarios as long as BRouter stays SemVer-compliant. Ref #751 Test Plan: - Run with BRouter 1.6.3 and 1.7.2, no warnings shown. - Run with BRouter 1.7.0 and 1.7.1, warnings shown only for the first segment.
152 lines
12 KiB
Markdown
152 lines
12 KiB
Markdown
# brouter-web
|
|
|
|
Web client (by [@nrenner](https://github.com/nrenner) and [contributors](https://github.com/nrenner/brouter-web/graphs/contributors)) for the BRouter routing engine (by [@abrensch](https://github.com/abrensch)).
|
|
|
|

|
|
|
|
Instances:
|
|
|
|
- [brouter.de/brouter-web](https://brouter.de/brouter-web/) _(provided by [@abrensch](https://github.com/abrensch))_
|
|
- [brouter.damsy.net](https://brouter.damsy.net) _(provided by [@bagage](https://github.com/bagage))_
|
|
|
|
**This repository is only about the frontend**.
|
|
|
|
For the server/backend, BRouter routing engine, Android app, profiles, [brouter.de](https://brouter.de) site, see:
|
|
https://github.com/abrensch/brouter
|
|
|
|
More information:
|
|
https://brouter.de
|
|
|
|
## Contact
|
|
|
|
General BRouter discussions/questions, support:
|
|
|
|
- [Google Group](https://groups.google.com/group/osm-android-bikerouting)
|
|
- [`#brouter` on Matrix](https://matrix.to/#/#_oftc_#brouter:matrix.org) ([Element](https://app.element.io/#/room/#_oftc_#brouter:matrix.org)).
|
|
|
|
## Translating
|
|
|
|
Translations are managed using the
|
|
[Transifex](https://www.transifex.com/openstreetmap/brouter-web/) platform. After
|
|
signing up, you can go to [BRouter's project
|
|
page](https://www.transifex.com/openstreetmap/brouter-web/dashboard/), select a language and
|
|
click **Translate** to start translating.
|
|
|
|
## Installation
|
|
|
|
See [INSTALL.md](INSTALL.md) for guidance on installation.
|
|
|
|
## Build
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for development documentation.
|
|
|
|
## License
|
|
|
|
Copyright (c) 2018 Norbert Renner and [contributors](https://github.com/nrenner/brouter-web/graphs/contributors), licensed under the [MIT License (MIT)](LICENSE)
|
|
|
|
### Credits and Licenses
|
|
|
|
- [BRouter](https://github.com/abrensch/brouter) (not included)
|
|
by abrensch; [MIT License](https://github.com/abrensch/brouter/blob/master/LICENSE)
|
|
- [Leaflet](https://leafletjs.com/)
|
|
Copyright (c) 2010-2014, Vladimir Agafonkin; Copyright (c) 2010-2011, CloudMade; [2-clause BSD License](https://github.com/Leaflet/Leaflet/blob/master/LICENSE)
|
|
- [leaflet-routing](https://github.com/Turistforeningen/leaflet-routing)
|
|
Copyright (c) 2013, Turistforeningen, Hans Kristian Flaatten. All rights reserved. [2-clause BSD License](https://github.com/Turistforeningen/leaflet-routing/blob/gh-pages/LICENSE)
|
|
- [Leaflet.Elevation](https://github.com/MrMufflon/Leaflet.Elevation)
|
|
Copyright (c) 2013 Felix Bache; [MIT License](https://github.com/MrMufflon/Leaflet.Elevation/blob/master/LICENSE)
|
|
- [D3.js](https://github.com/mbostock/d3)
|
|
Copyright (c) 2013, Michael Bostock. All rights reserved.; [3-clause BSD License](https://github.com/mbostock/d3/blob/master/LICENSE)
|
|
- [Leaflet.Editable](https://github.com/Leaflet/Leaflet.Editable)
|
|
Yohan Boniface; WTFPL licence
|
|
- [Leaflet Control Geocoder](https://github.com/perliedman/leaflet-control-geocoder)
|
|
Copyright (c) 2012 [sa3m](https://github.com/sa3m), Copyright (c) 2013 Per Liedman; [2-clause BSD License](https://github.com/perliedman/leaflet-control-geocoder/blob/master/LICENSE)
|
|
- [leaflet-plugins](https://github.com/shramov/leaflet-plugins)
|
|
Copyright (c) 2011-2012, Pavel Shramov; [2-clause BSD License](https://github.com/shramov/leaflet-plugins/blob/master/LICENSE)
|
|
- [Async.js](https://github.com/caolan/async)
|
|
Copyright (c) 2010-2014 Caolan McMahon; [MIT License](https://github.com/caolan/async/blob/master/LICENSE)
|
|
- [Bootstrap](https://getbootstrap.com/)
|
|
Copyright (c) 2011-2014 Twitter, Inc; [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
- [jQuery](https://github.com/jquery/jquery)
|
|
Copyright 2005, 2014 jQuery Foundation and other contributors; [MIT License](https://github.com/jquery/jquery/blob/master/LICENSE.txt)
|
|
- [DataTables](https://github.com/DataTables/DataTables)
|
|
Copyright (C) 2008-2014, SpryMedia Ltd.; [MIT License](https://www.datatables.net/license/MIT-LICENCE)
|
|
- [Leaflet.EasyButton](https://github.com/CliffCloud/Leaflet.EasyButton)
|
|
Copyright (C) 2014 Daniel Montague; [MIT License](https://github.com/CliffCloud/Leaflet.EasyButton/blob/master/LICENSE)
|
|
- [Bootbox](https://github.com/makeusabrew/bootbox)
|
|
Copyright (C) 2011-2014 by Nick Payne; [MIT License](https://github.com/makeusabrew/bootbox/blob/master/LICENSE.md)
|
|
- [bootstrap-slider](https://github.com/seiyria/bootstrap-slider)
|
|
Copyright (c) 2015 Kyle Kemp, Rohit Kalkur, and contributors; [MIT License](https://github.com/seiyria/bootstrap-slider/blob/master/LICENSE.md)
|
|
- [Leaflet.RestoreView](https://github.com/makinacorpus/Leaflet.RestoreView)
|
|
Copyright (c) 2012 Makina Corpus, [MIT License](https://github.com/makinacorpus/Leaflet.RestoreView/blob/master/LICENSE)
|
|
- [Leaflet.Locate](https://github.com/domoritz/leaflet-locatecontrol)
|
|
Copyright (c) 2014 Dominik Moritz, [MIT License](https://github.com/domoritz/leaflet-locatecontrol/blob/gh-pages/LICENSE)
|
|
- [Font Awesome](https://fontawesome.com/v4.7.0/license/)
|
|
by Dave Gandy; [SIL OFL 1.1](https://scripts.sil.org/OFL) (Font), MIT License (Code), CC BY 3.0 (Documentation)
|
|
- [url-search-params](https://github.com/WebReflection/url-search-params)
|
|
Copyright (C) 2015-2017 Andrea Giammarchi - @WebReflection; [MIT License](https://github.com/WebReflection/url-search-params/blob/master/LICENSE.txt)
|
|
- [bootstrap-select](https://github.com/snapappointments/bootstrap-select)
|
|
Copyright (c) 2012-2018 SnapAppointments, LLC; [MIT License](https://github.com/snapappointments/bootstrap-select/blob/v1.13.0-dev/LICENSE)
|
|
- [leaflet-sidebar-v2](https://github.com/nickpeihl/leaflet-sidebar-v2)
|
|
Copyright (c) 2013 Tobias Bieniek; [MIT License](https://github.com/nickpeihl/leaflet-sidebar-v2/blob/master/LICENSE)
|
|
- [CodeMirror](https://github.com/codemirror/CodeMirror)
|
|
Copyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others; [MIT License](https://github.com/codemirror/CodeMirror/blob/master/LICENSE)
|
|
- [Map BBCode](https://github.com/MapBBCode/mapbbcode)
|
|
Ilya Zverev; [Do What The F\*ck You Want To Public License](https://github.com/MapBBCode/mapbbcode/blob/master/LICENSE)
|
|
- [Leafet.StravaSegments](https://gitlab.com/bagage/leaflet.stravasegments)
|
|
Copyright (c) 2018 Gautier Pelloux-Prayer; [MIT License](https://gitlab.com/bagage/leaflet.stravasegments/blob/master/LICENSE)
|
|
- [polyline](https://github.com/mapbox/polyline)
|
|
Copyright (c), Development Seed; [BSD 3-Clause License](https://github.com/mapbox/polyline/blob/master/LICENSE)
|
|
- [leaflet-fullHash](https://github.com/KoGor/leaflet-fullHash)
|
|
Copyright (c) 2014 KoGor; [MIT License](https://github.com/KoGor/leaflet-fullHash/blob/master/LICENSE)
|
|
- [Turf.js](https://github.com/Turfjs/turf)
|
|
Copyright (c) 2019 Morgan Herlocker; [MIT License](https://github.com/Turfjs/turf/blob/master/LICENSE)
|
|
- [i18next](https://github.com/i18next/i18next), [i18next-browser-languageDetector](https://github.com/i18next/i18next-browser-languageDetector), [i18next-xhr-backend](https://github.com/i18next/i18next-xhr-backend), [jquery-i18next](https://github.com/i18next/jquery-i18next/blob/master/LICENSE)
|
|
Copyright (c) 2017 i18next; [MIT License](https://github.com/i18next/i18next/blob/master/LICENSE)
|
|
- [Leaflet TriangleMarker](https://github.com/themeler/leaflet-triangle-marker)
|
|
Copyright (c) 2018 Przemysław Melnarowicz; [MIT License](https://github.com/themeler/leaflet-triangle-marker/blob/master/LICENSE)
|
|
- [jsTree](https://github.com/vakata/jstree)
|
|
Copyright (c) 2014 Ivan Bozhanov; [MIT License](https://github.com/vakata/jstree/blob/master/LICENSE-MIT)
|
|
- [Leaflet.snogylop](https://github.com/ebrelsford/leaflet.snogylop)
|
|
Copyright (c) 2014 Eric Brelsford; [MIT License](https://github.com/ebrelsford/Leaflet.snogylop/blob/master/LICENSE)
|
|
- [JOSM maps](https://josm.openstreetmap.de/wiki/Maps)
|
|
imagery database is licensed under [CC-BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)
|
|
- [LayersCollection](https://github.com/Edward17/LayersCollection/tree/gh-pages)
|
|
Copyright (c) 2016 Eduard <edward17>; [MIT License](https://github.com/Edward17/LayersCollection/blob/gh-pages/LICENSE.md)
|
|
- [Leaflet-providers](https://github.com/leaflet-extras/leaflet-providers)
|
|
Copyright (c) 2013 Leaflet Providers contributors All rights reserved.; [2-clause BSD License](https://github.com/leaflet-extras/leaflet-providers/blob/master/license.md)
|
|
- [Leaflet.FileLayer](https://github.com/makinacorpus/Leaflet.FileLayer)
|
|
Copyright (c) 2012 Makina Corpus; [MIT License](https://github.com/makinacorpus/Leaflet.FileLayer/blob/master/LICENSE)
|
|
- [togeojson](https://github.com/mapbox/togeojson)
|
|
Copyright (c) 2016 Mapbox All rights reserved.; [2-clause BSD License](https://github.com/mapbox/togeojson/blob/master/LICENSE)
|
|
- [Leaflet.GeometryUtil](https://github.com/makinacorpus/Leaflet.GeometryUtil)
|
|
Copyright (c) 2013, Makina Corpus; [BSD 3-Clause License](https://github.com/makinacorpus/Leaflet.GeometryUtil/blob/master/LICENSE)
|
|
- [leaflet-distance-markers](https://github.com/adoroszlai/leaflet-distance-markers)
|
|
Copyright (c) 2014- Doroszlai Attila, 2016- Phil Whitehurst; [MIT License](https://github.com/adoroszlai/leaflet-distance-markers/blob/master/LICENSE.md)
|
|
- [Leaflet.hotline](https://github.com/iosphere/Leaflet.hotline)
|
|
Copyright (c) 2015, iosphere GmbH, Jonas Coch; [3-clause BSD License](https://github.com/iosphere/Leaflet.hotline/blob/master/LICENSE)
|
|
- [Babel](https://github.com/babel/babel)
|
|
Copyright (c) 2014-present Sebastian McKenzie and other contributors; [MIT License](https://github.com/babel/babel/blob/main/LICENSE)
|
|
- [core-js](https://github.com/zloirock/core-js)
|
|
Copyright (c) 2014-2021 Denis Pushkarev; [MIT License](https://github.com/zloirock/core-js/blob/master/LICENSE)
|
|
- [regenerator-runtime](https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime)
|
|
Copyright (c) 2014-present, Facebook, Inc.; [MIT License](https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/LICENSE)
|
|
- [tokml](https://github.com/mapbox/tokml)
|
|
Copyright (c) 2015, Mapbox All rights reserved; [BSD-2-Clause License](https://github.com/mapbox/tokml/blob/master/LICENSE.md)
|
|
- [Jest](https://github.com/facebook/jest)
|
|
Copyright (c) Facebook, Inc. and its affiliates; [MIT License](https://github.com/facebook/jest/blob/master/LICENSE)
|
|
- [overpass-layer](https://github.com/plepe/overpass-layer)
|
|
Copyright (c) 2020 Stephan Bösch-Plepelits; [MIT License](https://github.com/plepe/overpass-layer/blob/master/LICENSE)
|
|
- [maki](https://github.com/mapbox/maki)
|
|
[CC0-1.0 License](https://github.com/mapbox/maki/blob/master/LICENSE.txt)
|
|
- [temaki](https://github.com/ideditor/temaki)
|
|
[CC0-1.0 License](https://github.com/ideditor/temaki/blob/main/LICENSE.md)
|
|
- [leaflet-osm-notes](https://github.com/osmlab/leaflet-osm-notes)
|
|
[The Unlicense](https://github.com/osmlab/leaflet-osm-notes/blob/gh-pages/LICENSE)
|
|
- [Fetch polyfill](https://github.com/Github/fetch)
|
|
Copyright (c) 2014-2016 GitHub, Inc.; [MIT License](https://github.com/github/fetch/blob/master/LICENSE)
|
|
- [qrcodejs](https://github.com/llyys/qrcodejs)
|
|
Copyright (c) 2012 davidshimjs [The MIT License](https://github.com/llyys/qrcodejs/blob/master/LICENSE)
|
|
- [Bootstrap Icons](https://github.com/twbs/icons)
|
|
Copyright (c) 2019-2023 The Bootstrap Authors [The MIT License](https://github.com/twbs/icons/blob/main/LICENSE)
|
|
- [compare-versions](https://github.com/omichelsen/compare-versions)
|
|
Copyright (c) 2015-2021 Ole Michelsen [The MIT License](https://github.com/omichelsen/compare-versions/blob/main/LICENSE)
|