brouter-web/index.html
2018-03-15 14:59:53 +01:00

274 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>BRouter web client</title>
<!-- inject:css -->
<link rel="stylesheet" href="dist/brouter-web.css" />
<!-- endinject -->
</head>
<body class="flexcolumn">
<nav class="navbar navbar-full navbar-dark bg-inverse">
<div class="navbar-header">
<a class="navbar-brand" href="#" data-toggle="modal" data-target="#about">BRouter-Web <sup class="version">0.6.3</sup></a>
<button class="navbar-toggler hidden-md-up" type="button" data-toggle="collapse" data-target="#collapsingNavbar" aria-controls="collapsingNavbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="fa fa-bars"></span>
</button>
</div>
<div class="collapse navbar-toggleable-sm" id="collapsingNavbar">
<div class="nav navbar-nav">
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
<span class="fa fa-lg fa-cloud-download"></span>&nbsp;Download</a>
<div class="dropdown-menu">
<a class="dropdown-item" id="dl-gpx" href="#" disabled>GPX</a>
<a class="dropdown-item" id="dl-kml" href="#" disabled>KML</a>
<a class="dropdown-item" id="dl-geojson" href="#" disabled>GeoJSON</a>
<a class="dropdown-item" id="dl-csv" href="#" disabled>data CSV</a>
</div>
</div>
<form class="navbar-form">
<div class="form-group">
<select class="selectpicker show-tick" id="profile-alternative" multiple>
<optgroup label="Profile" data-max-options="1" data-icon="fa-bicycle" id="profile">
<option>Custom</option>
</optgroup>
<optgroup label="Alternative" data-max-options="1" data-icon="fa-random" id="alternative">
<option value="0" selected>Original</option>
<option value="1">1st alternative</option>
<option value="2">2nd alternative</option>
<option value="3">3rd alternative</option>
</optgroup>
</select>
</div>
</form>
</div>
</div>
</nav>
<!-- Credits modal window -->
<div class="modal fade" id="credits" tabindex="-1" role="dialog" aria-labelledby="Credits window" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">Credits</h4>
</div>
<div class="modal-body">
<dl>
<dt>Map data</dt>
<dd>
&copy; <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap contributors</a>
under <a target="_blank" href="https://opendatacommons.org/licenses/odbl/">ODbL</a>
</dd>
<dt>OpenstreetMap.de tiles</dt>
<dd><a target="_blank" href="https://openstreetmap.de/karte.html">openstreetmap.de</a></dd>
<dt>OpenTopoMap tiles</dt>
<dd>
&copy; <a target="_blank" href="https://opentopomap.org">OpenTopoMap</a>
under <a target="_blank" href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>
<a target="_blank" href="http://viewfinderpanoramas.org">SRTM</a>
</dd>
<dt>Thunderforest tiles</dt>
<dd>
&copy; <a target="_blank" href="https://www.thunderforest.com">Thunderforest</a>
under <a target="_blank" href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA 2.0</a>
</dd>
<dt>Waymarked Trails tiles</dt>
<dd>
&copy; <a target="_blank" href="https://cycling.waymarkedtrails.org">Waymarked Trails</a>
under <a target="_blank" href="https://creativecommons.org/licenses/by-sa/3.0/de/deed.en">CC-BY-SA 3.0 DE</a>
</dd>
<dt>BRouter</dt>
<dd>
<a target="_blank" href="http://brouter.de/brouter">BRouter</a> &copy; Arndt Brenschede
</dd>
</dl>
</div>
</div>
</div>
</div>
<!-- Layers modal window -->
<div class="modal fade" id="custom_layers" tabindex="-1" role="dialog" aria-labelledby="Layers window" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">Customize layers</h4>
</div>
<div class="modal-body">
<input class="form-control" type="text" id="layer_name" spellcheck="true" wrap="off" placeholder="Custom layer name. (ex: OpenStreetMap)"></input>
<input class="form-control" type="text" id="layer_url" spellcheck="false" wrap="off" placeholder="Custom layer URL. (ex: https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png)"></input>
<button type="button" id="custom_layers_add_base" class="btn btn-success">Add base layer</button>
<button type="button" id="custom_layers_add_overlay" class="btn btn-success">Add overlay</button>
<button type="button" id="custom_layers_remove" class="btn btn-danger">Remove selection</button>
<table id="custom_layers_table"></table>
</div>
</div>
</div>
</div>
<!-- About modal window -->
<div class="modal fade" id="about" tabindex="-1" role="dialog" aria-labelledby="About window" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">About</h4>
</div>
<div class="modal-body">
<p>Online service of the BRouter routing engine. For the offline Android app and more information
see <a href="http://brouter.de/" target="_blank">brouter.de</a>.</p>
<p>
<i>Contact:</i><br>
<ul>
<li>General discussions/questions, support:<br>
<a href="https://groups.google.com/group/osm-android-bikerouting" target="_blank">https://groups.google.com/group/osm-android-bikerouting</a>
</li>
<li>Bug reports and feature requests:
<ul>
<li>
server / backend, routing engine, Android app, profiles, brouter.de site:<br>
<a href="https://github.com/abrensch/brouter/issues" target="_blank">https://github.com/abrensch/brouter/issues</a>
</li>
<li>
web client / frontend:<br>
<a href="https://github.com/nrenner/brouter-web/issues" target="_blank">https://github.com/nrenner/brouter-web/issues</a>
</li>
</ul>
</li>
</ul>
</p>
<p>
<i>Data:</i><br>
This is based on <a href="https://www.openstreetmap.org" target="_blank">OpenStreetMap</a>. It is usually updated once a week when a new Planet file is available,
see dates of <a href="http://brouter.de/brouter/segments4/" target="_blank">data files</a>.
</p>
<p>
<i><a href="https://github.com/nrenner/brouter-web#credits-and-licenses" target="_blank">Credits</a></i>,
<i><a href="https://github.com/nrenner/brouter-web/blob/master/CHANGELOG.md" target="_blank">Changelog</a></i> and
<i><a href="https://github.com/nrenner/brouter-web#readme" target="_blank">more info</a></i> on the client.
</p>
</div>
</div>
</div>
</div>
<div id="content" class="flexcolumn flexgrow">
<div id="sidebarTabs" class="leaflet-sidebar-tabs collapsed">
<ul role="tablist">
<li><a href="#tab_layers_control" role="tab"><img src="dist/images/layers.png" width="20px"></a></li>
<li hidden><a href="#tab_itinerary" role="tab"><i class="fa fa-map-signs"></i></a></li>
<li><a href="#tab_profile" role="tab"><i class="fa fa-wrench"></i></a></li>
<li><a href="#tab_data" role="tab"><i class="fa fa-table"></i></a></li>
</ul>
</div>
<div class="leaflet-sidebar-flex-row flexgrow">
<div id="map" class="leaflet-sidebar-map"></div>
<div id="sidebar" class="leaflet-sidebar collapsed">
<div class="leaflet-sidebar-content">
<div class="leaflet-sidebar-pane" id="tab_layers_control">
<h1 class="leaflet-sidebar-header">Layers<span class="leaflet-sidebar-close"><i class="fa fa-caret-right"></i></span></h1>
<div id="layers-control-wrapper"></div>
<div class="leaflet-control-layers-separator"></div>
<div>
<button type="button" id="custom_layers_button" class="btn btn-sm pull-right" title="Add or remove custom layers"><span class="fa fa-plus-square"></span> Custom layers</button>
</div>
</div>
<div class="leaflet-sidebar-pane" id="tab_profile">
<h1 class="leaflet-sidebar-header">Custom routing profile<span class="leaflet-sidebar-close"><i class="fa fa-caret-right"></i></span></h1>
<form class="flexcolumn flexgrow">
<textarea class="form-control flexgrow" id="profile_upload" spellcheck="false" wrap="off" placeholder="Write your custom profile here."></textarea>
<div id="profile_message"></div>
<div class="form-group" id="profile_buttons">
<button id="clear" type="button" class="btn btn-sm"><span class="fa fa-eraser"></span> Clear</button>
<button id="upload" type="button" class="btn btn-sm" data-uploading-text="Uploading…"><span class="fa fa-cloud-upload"></span> Upload</button>
<a href="http://brouter.de/brouter/costfunctions.html" target="_blank" class="btn btn-sm btn-info pull-right"><span class="fa fa-question"></span> Help</a>
</div>
</form>
</div>
<div class="leaflet-sidebar-pane" id="tab_data">
<h1 class="leaflet-sidebar-header">Data<span class="leaflet-sidebar-close"><i class="fa fa-caret-right"></i></span></h1>
<table id="datatable" class="mini cell-border hover stripe"></table>
</div>
<div class="leaflet-sidebar-pane" id="tab_itinerary">
<h1 class="leaflet-sidebar-header">Itinerary<span class="leaflet-sidebar-close"><i class="fa fa-caret-right"></i></span></h1>
<div id="itinerary" class="flexcolumn flexgrow">
</div>
</div>
</div>
</div>
</div>
<div id="message"></div>
</div>
<div class="collapse" id="elevation-chart"></div>
<footer>
<div class="flexrow">
<ul id="stats">
<li>
<div class="text-muted small hidden-sm-down">Distance</div>
<p class="stats-label"><span id="distance">0</span> <abbr title="kilometer">km</abbr></p>
</li>
<li hidden>
<div class="text-muted small hidden-sm-down">Travel time</div>
<p class="stats-label"><span id="totaltime">0</span> <abbr title="minutes">min</abbr></p>
</li>
<li hidden>
<div class="text-muted small hidden-sm-down">Total Energy (per 100km)</div>
<p class="stats-label"><span id="totalenergy">0 (0)</span> <abbr title="kilowatt hour">kWh</abbr></p>
</li>
<li>
<div class="text-muted small hidden-sm-down">Ascend (Plain ascend)</div>
<p class="stats-label"><span id="ascend">0 (0)</span> <abbr title="meter">m</abbr></p>
</li>
<li>
<div class="text-muted small hidden-sm-down">Cost (Mean cost factor)</div>
<p class="stats-label"><span id="cost">- (-)</span></p>
</li>
</ul>
<button class="btn btn-secondary btn-sm" type="button" data-toggle="collapse" data-target="#elevation-chart" aria-controls="elevation-chart" id="elevation-btn" aria-expanded="false" aria-label="Toggle elevation chart">
<span class="fa fa-area-chart"></span>
</button>
</div>
</footer>
<script>
// global package prefix for BRouter web application
BR = {};
console.log('\r\n###\r\n### BRouter-Web\r\n###\r\n### Please note that the routing API used here is not public!\r\n###\r\n');
</script>
<script src="dist/url-search-params.js"></script>
<script src="config.js"></script>
<script src="keys.js"></script>
<!-- "gulp inject" for debugging -->
<!-- inject:js -->
<script src="dist/brouter-web.js"></script>
<!-- endinject -->
</body>
</html>