added switching between search engines
- works with different languages - works with links refactored selector code: - changed method names - changed method parameters (object -> id), - added method to rename all options of dropdown menu refactored distance format selector code: - changed method names - changed variable names - changed how to init/select element/change language of dropdown menu refactored maintenance notification overrides: - changed names of default variables
This commit is contained in:
parent
e98afb46e7
commit
532d7cb057
@ -19,26 +19,44 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
|||||||
// [has to be loaded directly after OSRM.base]
|
// [has to be loaded directly after OSRM.base]
|
||||||
|
|
||||||
OSRM.DEFAULTS = {
|
OSRM.DEFAULTS = {
|
||||||
HOST_ROUTING_URL: ['http://router.project-osrm.org/viaroute'],
|
ROUTING_ENGINES: [
|
||||||
HOST_SHORTENER_URL: 'http://map.project-osrm.org/shorten/',
|
{ url: 'http://router.project-osrm.org/viaroute',
|
||||||
HOST_TIMESTAMP_URL: 'http://router.project-osrm.org/timestamp',
|
timestamp: 'http://router.project-osrm.org/timestamp',
|
||||||
|
metric: 0,
|
||||||
|
label: 'ENGINE_0',
|
||||||
|
},
|
||||||
|
{ url: 'http://mapa.ump.waw.pl/ump-www/viaroute',
|
||||||
|
timestamp: 'http://mapa.ump.waw.pl/ump-www/timestamp',
|
||||||
|
metric: 0,
|
||||||
|
label: 'ENGINE_1',
|
||||||
|
},
|
||||||
|
{ url: 'http://mapa.ump.waw.pl/ump-www/rower/viaroute',
|
||||||
|
timestamp: 'http://mapa.ump.waw.pl/ump-www/rower/timestamp',
|
||||||
|
metric: 0,
|
||||||
|
label: 'ENGINE_2',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
WEBSITE_URL: document.URL.replace(/#*(\?.*|$)/i,""), // truncates URL before first ?, and removes tailing #
|
||||||
HOST_GEOCODER_URL: 'http://nominatim.openstreetmap.org/search',
|
HOST_GEOCODER_URL: 'http://nominatim.openstreetmap.org/search',
|
||||||
HOST_REVERSE_GEOCODER_URL: 'http://nominatim.openstreetmap.org/reverse',
|
HOST_REVERSE_GEOCODER_URL: 'http://nominatim.openstreetmap.org/reverse',
|
||||||
WEBSITE_URL: document.URL.replace(/#*(\?.*|$)/i,""), // truncates URL before first ?, and removes tailing #
|
HOST_SHORTENER_URL: 'http://map.project-osrm.org/shorten/',
|
||||||
JSONP_TIMEOUT: 10000,
|
|
||||||
|
SHORTENER_PARAMETERS: '%url&jsonp=%jsonp',
|
||||||
|
SHORTENER_REPLY_PARAMETER: 'ShortURL',
|
||||||
|
|
||||||
|
ROUTING_ENGINE: 0,
|
||||||
|
DISTANCE_FORMAT: 0, // 0: km, 1: miles
|
||||||
|
GEOCODER_BOUNDS: '',
|
||||||
ZOOM_LEVEL: 14,
|
ZOOM_LEVEL: 14,
|
||||||
|
HIGHLIGHT_ZOOM_LEVEL: 16,
|
||||||
|
JSONP_TIMEOUT: 10000,
|
||||||
|
|
||||||
ONLOAD_ZOOM_LEVEL: 5,
|
ONLOAD_ZOOM_LEVEL: 5,
|
||||||
ONLOAD_LATITUDE: 48.84,
|
ONLOAD_LATITUDE: 48.84,
|
||||||
ONLOAD_LONGITUDE: 10.10,
|
ONLOAD_LONGITUDE: 10.10,
|
||||||
ONLOAD_SOURCE: "",
|
ONLOAD_SOURCE: "",
|
||||||
ONLOAD_TARGET: "",
|
ONLOAD_TARGET: "",
|
||||||
HIGHLIGHT_ZOOM_LEVEL: 16,
|
|
||||||
DISTANCE_FORMAT: 0, // 0: km, 1: miles
|
|
||||||
GEOCODER_BOUNDS: '', // the world is not enough!
|
|
||||||
//GEOCODER_BOUNDS: '&bounded=1&viewbox=-27.0,72.0,46.0,36.0', // bounds for Europe
|
|
||||||
|
|
||||||
SHORTENER_PARAMETERS: '%url&jsonp=%jsonp',
|
|
||||||
SHORTENER_REPLY_PARAMETER: 'ShortURL',
|
|
||||||
|
|
||||||
LANGUAGE: "en",
|
LANGUAGE: "en",
|
||||||
LANUGAGE_ONDEMAND_RELOADING: true,
|
LANUGAGE_ONDEMAND_RELOADING: true,
|
||||||
@ -97,7 +115,6 @@ OSRM.DEFAULTS = {
|
|||||||
DRAGGING: 120000, // 2min
|
DRAGGING: 120000, // 2min
|
||||||
MAINTENANCE: false
|
MAINTENANCE: false
|
||||||
},
|
},
|
||||||
|
OVERRIDE_MAINTENANCE_NOTIFICATION_HEADER: undefined,
|
||||||
OVERRIDE_MAINTENANCE_HEADER: undefined,
|
OVERRIDE_MAINTENANCE_NOTIFICATION_BODY: undefined
|
||||||
OVERRIDE_MAINTENANCE_BODY: undefined
|
|
||||||
};
|
};
|
||||||
|
@ -41,20 +41,15 @@ init: function() {
|
|||||||
document.getElementById('gui-input-source').value = OSRM.DEFAULTS.ONLOAD_SOURCE;
|
document.getElementById('gui-input-source').value = OSRM.DEFAULTS.ONLOAD_SOURCE;
|
||||||
document.getElementById('gui-input-target').value = OSRM.DEFAULTS.ONLOAD_TARGET;
|
document.getElementById('gui-input-target').value = OSRM.DEFAULTS.ONLOAD_TARGET;
|
||||||
|
|
||||||
// init units selector
|
//init units selector
|
||||||
OSRM.GUI.selectorInit( "gui-units-toggle", [{display:"Kilometers",value:0},{display:"Miles",value:1}], 0, OSRM.GUI.onUnitsChanged );
|
OSRM.GUI.initDistanceFormatsSelector();
|
||||||
|
|
||||||
// query last update of data
|
|
||||||
OSRM.G.data_timestamp = "n/a";
|
|
||||||
OSRM.JSONP.call(OSRM.DEFAULTS.HOST_TIMESTAMP_URL+"?jsonp=%jsonp", OSRM.GUI.setDataTimestamp, OSRM.JSONP.empty, OSRM.DEFAULTS.JSONP_TIMEOUT, 'data_timestamp');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// set language dependent labels
|
// set language dependent labels
|
||||||
setLabels: function() {
|
setLabels: function() {
|
||||||
document.getElementById("open-josm").innerHTML = OSRM.loc("OPEN_JOSM");
|
document.getElementById("open-josm").innerHTML = OSRM.loc("OPEN_JOSM");
|
||||||
document.getElementById("open-osmbugs").innerHTML = OSRM.loc("OPEN_OSMBUGS");
|
document.getElementById("open-osmbugs").innerHTML = OSRM.loc("OPEN_OSMBUGS");
|
||||||
document.getElementById("gui-reset").innerHTML = OSRM.loc("GUI_RESET");
|
document.getElementById("gui-reset").innerHTML = OSRM.loc("GUI_RESET");
|
||||||
document.getElementById("gui-zoom").innerHTML = OSRM.loc("GUI_ZOOM_ON_ROUTE");
|
|
||||||
document.getElementById("gui-reverse").innerHTML = OSRM.loc("GUI_REVERSE");
|
document.getElementById("gui-reverse").innerHTML = OSRM.loc("GUI_REVERSE");
|
||||||
document.getElementById("gui-option-highlight-nonames-label").innerHTML = OSRM.loc("GUI_HIGHLIGHT_UNNAMED_ROADS");
|
document.getElementById("gui-option-highlight-nonames-label").innerHTML = OSRM.loc("GUI_HIGHLIGHT_UNNAMED_ROADS");
|
||||||
document.getElementById("gui-option-show-previous-routes-label").innerHTML = OSRM.loc("GUI_SHOW_PREVIOUS_ROUTES");
|
document.getElementById("gui-option-show-previous-routes-label").innerHTML = OSRM.loc("GUI_SHOW_PREVIOUS_ROUTES");
|
||||||
@ -72,15 +67,12 @@ setLabels: function() {
|
|||||||
document.getElementById('gui-data-timestamp-label').innerHTML = OSRM.loc("GUI_DATA_TIMESTAMP");
|
document.getElementById('gui-data-timestamp-label').innerHTML = OSRM.loc("GUI_DATA_TIMESTAMP");
|
||||||
document.getElementById('gui-data-timestamp').innerHTML = OSRM.G.data_timestamp;
|
document.getElementById('gui-data-timestamp').innerHTML = OSRM.G.data_timestamp;
|
||||||
document.getElementById('gui-timestamp-label').innerHTML = OSRM.loc("GUI_VERSION");
|
document.getElementById('gui-timestamp-label').innerHTML = OSRM.loc("GUI_VERSION");
|
||||||
document.getElementById('gui-timestamp').innerHTML = OSRM.DATE+"; v"+OSRM.VERSION;
|
document.getElementById('gui-timestamp').innerHTML = OSRM.DATE+"; v"+OSRM.VERSION;
|
||||||
document.getElementById('config-handle-icon').title = OSRM.loc("GUI_CONFIGURATION");
|
document.getElementById('config-handle-icon').title = OSRM.loc("GUI_CONFIGURATION");
|
||||||
document.getElementById('mapping-handle-icon').title = OSRM.loc("GUI_MAPPING_TOOLS");
|
document.getElementById('mapping-handle-icon').title = OSRM.loc("GUI_MAPPING_TOOLS");
|
||||||
document.getElementById('main-handle-icon').title = OSRM.loc("GUI_MAIN_WINDOW");
|
document.getElementById('main-handle-icon').title = OSRM.loc("GUI_MAIN_WINDOW");
|
||||||
|
OSRM.GUI.setDistanceFormatsLanguage();
|
||||||
document.getElementById("gui-units-toggle").getElementsByTagName("option")[0].innerHTML = OSRM.loc("GUI_KILOMETERS");
|
OSRM.GUI.setRoutingEnginesLanguage();
|
||||||
document.getElementById("gui-units-toggle").getElementsByTagName("option")[1].innerHTML = OSRM.loc("GUI_MILES");
|
|
||||||
OSRM.GUI.selectorOnChange( document.getElementById("gui-units-toggle") );
|
|
||||||
OSRM.GUI.updateNotifications();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// clear output area
|
// clear output area
|
||||||
@ -95,7 +87,6 @@ beforeMainTransition: function() {
|
|||||||
if( zoom_controls.length > 0)
|
if( zoom_controls.length > 0)
|
||||||
zoom_controls[0].style.visibility="hidden";
|
zoom_controls[0].style.visibility="hidden";
|
||||||
},
|
},
|
||||||
|
|
||||||
// show zoom controls after main box animation
|
// show zoom controls after main box animation
|
||||||
afterMainTransition: function() {
|
afterMainTransition: function() {
|
||||||
var zoom_controls = OSRM.Browser.getElementsByClassName(document,'leaflet-control-zoom');
|
var zoom_controls = OSRM.Browser.getElementsByClassName(document,'leaflet-control-zoom');
|
||||||
@ -105,15 +96,15 @@ afterMainTransition: function() {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// toggle distance units
|
// distance format routines
|
||||||
onUnitsChanged: function(type) {
|
initDistanceFormatsSelector: function() {
|
||||||
OSRM.GUI.changeDistanceFormat(type);
|
var options = OSRM.GUI.getDistanceFormats();
|
||||||
OSRM.Routing.getRoute({keepAlternative:true});
|
OSRM.GUI.selectorInit( "gui-units-toggle", options, OSRM.DEFAULTS.DISTANCE_FORMAT, OSRM.GUI._onDistanceFormatChanged );
|
||||||
},
|
},
|
||||||
|
setDistanceFormat: function(type) {
|
||||||
// change distance format
|
if( OSRM.G.active_distance_format == type )
|
||||||
changeDistanceFormat: function(type) {
|
return;
|
||||||
OSRM.G.DISTANCE_FORMAT = type;
|
OSRM.active_distance_format = type;
|
||||||
|
|
||||||
// change scale control
|
// change scale control
|
||||||
if(OSRM.G.map) {
|
if(OSRM.G.map) {
|
||||||
@ -129,12 +120,27 @@ changeDistanceFormat: function(type) {
|
|||||||
else
|
else
|
||||||
OSRM.Utils.toHumanDistance = OSRM.Utils.toHumanDistanceMeters;
|
OSRM.Utils.toHumanDistance = OSRM.Utils.toHumanDistanceMeters;
|
||||||
},
|
},
|
||||||
|
_onDistanceFormatChanged: function(type) {
|
||||||
|
OSRM.GUI.setDistanceFormat(type);
|
||||||
|
OSRM.Routing.getRoute({keepAlternative:true});
|
||||||
|
},
|
||||||
|
setDistanceFormatsLanguage: function() {
|
||||||
|
var options = OSRM.GUI.getDistanceFormats();
|
||||||
|
OSRM.GUI.selectorRenameOptions("gui-units-toggle", options );
|
||||||
|
},
|
||||||
|
getDistanceFormats: function() {
|
||||||
|
return [{display:OSRM.loc("GUI_KILOMETERS"),value:0},{display:OSRM.loc("GUI_MILES"),value:1}];
|
||||||
|
},
|
||||||
|
|
||||||
// set timestamp of data
|
// data timestamp routines
|
||||||
|
queryDataTimestamp: function() {
|
||||||
|
OSRM.G.data_timestamp = "n/a";
|
||||||
|
OSRM.JSONP.call( OSRM.G.active_routing_timestamp_url+"?jsonp=%jsonp", OSRM.GUI.setDataTimestamp, OSRM.JSONP.empty, OSRM.DEFAULTS.JSONP_TIMEOUT, 'data_timestamp');
|
||||||
|
},
|
||||||
setDataTimestamp: function(response) {
|
setDataTimestamp: function(response) {
|
||||||
if(!response)
|
if(!response)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
OSRM.G.data_timestamp = response.timestamp.slice(0,25).replace(/<\/?[^>]+(>|$)/g ,""); // discard tags
|
OSRM.G.data_timestamp = response.timestamp.slice(0,25).replace(/<\/?[^>]+(>|$)/g ,""); // discard tags
|
||||||
document.getElementById('gui-data-timestamp').innerHTML = OSRM.G.data_timestamp;
|
document.getElementById('gui-data-timestamp').innerHTML = OSRM.G.data_timestamp;
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,8 @@ init: function() {
|
|||||||
// exclusive notifications
|
// exclusive notifications
|
||||||
var config = OSRM.DEFAULTS.NOTIFICATIONS;
|
var config = OSRM.DEFAULTS.NOTIFICATIONS;
|
||||||
if( config["MAINTENANCE"] == true ) {
|
if( config["MAINTENANCE"] == true ) {
|
||||||
var header = OSRM.DEFAULTS.OVERRIDE_MAINTENANCE_HEADER || OSRM.loc("NOTIFICATION_MAINTENANCE_HEADER");
|
var header = OSRM.DEFAULTS.OVERRIDE_MAINTENANCE_NOTIFICATION_HEADER || OSRM.loc("NOTIFICATION_MAINTENANCE_HEADER");
|
||||||
var body = OSRM.DEFAULTS.OVERRIDE_MAINTENANCE_BODY || OSRM.loc("NOTIFICATION_MAINTENANCE_BODY");
|
var body = OSRM.DEFAULTS.OVERRIDE_MAINTENANCE_NOTIFICATION_BODY || OSRM.loc("NOTIFICATION_MAINTENANCE_BODY");
|
||||||
OSRM.GUI.exclusiveNotify( header, body, false);
|
OSRM.GUI.exclusiveNotify( header, body, false);
|
||||||
OSRM.GUI.activeExclusive = "MAINTENANCE";
|
OSRM.GUI.activeExclusive = "MAINTENANCE";
|
||||||
return;
|
return;
|
||||||
|
80
WebContent/gui/OSRM.RoutingEngineGUI.js
Normal file
80
WebContent/gui/OSRM.RoutingEngineGUI.js
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU AFFERO General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3 of the License, or
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
or see http://www.gnu.org/licenses/agpl.txt.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// OSRM RoutingEngineGUI
|
||||||
|
// [handles all GUI aspects that deals with switching the routing engine]
|
||||||
|
|
||||||
|
|
||||||
|
OSRM.GUI.extend( {
|
||||||
|
|
||||||
|
// init
|
||||||
|
init: function() {
|
||||||
|
// gather routing engines
|
||||||
|
var options = OSRM.GUI.getRoutingEngines();
|
||||||
|
|
||||||
|
// generate selectors
|
||||||
|
OSRM.GUI.selectorInit("gui-engine-toggle", options, OSRM.DEFAULTS.ROUTING_ENGINE, OSRM.GUI._onRoutingEngineChanged);
|
||||||
|
},
|
||||||
|
|
||||||
|
// change active routing engine
|
||||||
|
setRoutingEngine: function(engine) {
|
||||||
|
if( engine == OSRM.G.active_routing_engine )
|
||||||
|
return;
|
||||||
|
|
||||||
|
OSRM.GUI.selectorChange( 'gui-engine-toggle', engine );
|
||||||
|
|
||||||
|
OSRM.G.active_routing_engine = engine;
|
||||||
|
OSRM.G.active_routing_metric = OSRM.DEFAULTS.ROUTING_ENGINES[ OSRM.G.active_routing_engine ].metric;;
|
||||||
|
OSRM.G.active_routing_server_url = OSRM.DEFAULTS.ROUTING_ENGINES[ OSRM.G.active_routing_engine ].url;
|
||||||
|
OSRM.G.active_routing_timestamp_url = OSRM.DEFAULTS.ROUTING_ENGINES[ OSRM.G.active_routing_engine ].timestamp;
|
||||||
|
|
||||||
|
// requery data timestamp
|
||||||
|
OSRM.GUI.queryDataTimestamp();
|
||||||
|
OSRM.JSONP.call( OSRM.DEFAULTS.ROUTING_ENGINES[ OSRM.G.active_routing_engine ].timestamp+"?jsonp=%jsonp", OSRM.GUI.setDataTimestamp, OSRM.GUI.setDataTimestampTimeout, OSRM.DEFAULTS.JSONP_TIMEOUT, 'data_timestamp');
|
||||||
|
},
|
||||||
|
_onRoutingEngineChanged: function(engine) {
|
||||||
|
if( engine == OSRM.G.active_routing_engine )
|
||||||
|
return;
|
||||||
|
|
||||||
|
OSRM.GUI.setRoutingEngine( engine );
|
||||||
|
|
||||||
|
// requery route
|
||||||
|
if( OSRM.G.markers.route.length > 1 )
|
||||||
|
OSRM.Routing.getRoute();
|
||||||
|
},
|
||||||
|
|
||||||
|
// change language of routing engine entries
|
||||||
|
setRoutingEnginesLanguage: function() {
|
||||||
|
// gather routing engines
|
||||||
|
var options = OSRM.GUI.getRoutingEngines();
|
||||||
|
|
||||||
|
// change dropdown menu names
|
||||||
|
OSRM.GUI.selectorRenameOptions( "gui-engine-toggle", options );
|
||||||
|
},
|
||||||
|
|
||||||
|
// gather routing engines
|
||||||
|
getRoutingEngines: function() {
|
||||||
|
var engines = OSRM.DEFAULTS.ROUTING_ENGINES;
|
||||||
|
var options = [];
|
||||||
|
for(var i=0, size=engines.length; i<size; i++) {
|
||||||
|
options.push( {display:OSRM.loc(engines[i].label), value:i} );
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
@ -24,7 +24,7 @@ OSRM.GUI.extend( {
|
|||||||
// init
|
// init
|
||||||
init: function() {
|
init: function() {
|
||||||
// init variables
|
// init variables
|
||||||
OSRM.GUI.changeDistanceFormat(OSRM.DEFAULTS.DISTANCE_FORMAT);
|
OSRM.GUI.setDistanceFormat(OSRM.DEFAULTS.DISTANCE_FORMAT);
|
||||||
|
|
||||||
// init events
|
// init events
|
||||||
document.getElementById("gui-input-source").onchange = function() {OSRM.GUI.inputChanged(OSRM.C.SOURCE_LABEL);};
|
document.getElementById("gui-input-source").onchange = function() {OSRM.GUI.inputChanged(OSRM.C.SOURCE_LABEL);};
|
||||||
@ -36,7 +36,6 @@ init: function() {
|
|||||||
document.getElementById("gui-search-target").onclick = function() {OSRM.GUI.showMarker(OSRM.C.TARGET_LABEL);};
|
document.getElementById("gui-search-target").onclick = function() {OSRM.GUI.showMarker(OSRM.C.TARGET_LABEL);};
|
||||||
|
|
||||||
document.getElementById("gui-reset").onclick = OSRM.GUI.resetRouting;
|
document.getElementById("gui-reset").onclick = OSRM.GUI.resetRouting;
|
||||||
document.getElementById("gui-zoom").onclick = OSRM.GUI.zoomOnRoute;
|
|
||||||
document.getElementById("gui-reverse").onclick = OSRM.GUI.reverseRouting;
|
document.getElementById("gui-reverse").onclick = OSRM.GUI.reverseRouting;
|
||||||
document.getElementById("open-josm").onclick = OSRM.GUI.openJOSM;
|
document.getElementById("open-josm").onclick = OSRM.GUI.openJOSM;
|
||||||
document.getElementById("open-osmbugs").onclick = OSRM.GUI.openOSMBugs;
|
document.getElementById("open-osmbugs").onclick = OSRM.GUI.openOSMBugs;
|
||||||
@ -47,12 +46,12 @@ init: function() {
|
|||||||
// toggle GUI features that need a route to work
|
// toggle GUI features that need a route to work
|
||||||
activateRouteFeatures: function() {
|
activateRouteFeatures: function() {
|
||||||
OSRM.Printing.activate();
|
OSRM.Printing.activate();
|
||||||
document.getElementById("gui-zoom").className = "button";
|
// document.getElementById("gui-zoom").className = "button";
|
||||||
// document.getElementById('leaflet-control-locations-route').className = "leaflet-control-locations-route";
|
// document.getElementById('leaflet-control-locations-route').className = "leaflet-control-locations-route";
|
||||||
},
|
},
|
||||||
deactivateRouteFeatures: function() {
|
deactivateRouteFeatures: function() {
|
||||||
OSRM.Printing.deactivate();
|
OSRM.Printing.deactivate();
|
||||||
document.getElementById("gui-zoom").className = "button-inactive";
|
// document.getElementById("gui-zoom").className = "button-inactive";
|
||||||
// document.getElementById('leaflet-control-locations-route').className = "leaflet-control-locations-route-inactive";
|
// document.getElementById('leaflet-control-locations-route').className = "leaflet-control-locations-route-inactive";
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ selectorInit: function(id, options, selected, onchange_fct) {
|
|||||||
// create dropdown menu
|
// create dropdown menu
|
||||||
var select = document.getElementById(id);
|
var select = document.getElementById(id);
|
||||||
select.className += " styled-select-helper base-font";
|
select.className += " styled-select-helper base-font";
|
||||||
select.onchange = function() { OSRM.GUI.selectorOnChange(this); onchange_fct(this.value); };
|
select.onchange = function() { OSRM.GUI._selectorOnChange(this); onchange_fct(this.value); };
|
||||||
|
|
||||||
// fill dropdown menu
|
// fill dropdown menu
|
||||||
for(var i=0, size=options.length; i<size; i++) {
|
for(var i=0, size=options.length; i<size; i++) {
|
||||||
@ -49,7 +49,7 @@ selectorInit: function(id, options, selected, onchange_fct) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// required behaviour of selector on change to switch shown name
|
// required behaviour of selector on change to switch shown name
|
||||||
selectorOnChange: function(select) {
|
_selectorOnChange: function(select) {
|
||||||
var option = select.getElementsByTagName("option");
|
var option = select.getElementsByTagName("option");
|
||||||
for(var i = 0; i < option.length; i++)
|
for(var i = 0; i < option.length; i++)
|
||||||
if(option[i].selected == true) {
|
if(option[i].selected == true) {
|
||||||
@ -59,9 +59,29 @@ selectorOnChange: function(select) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// change selector value
|
// change selector value
|
||||||
selectorChange: function(select, value) {
|
selectorChange: function(id, value) {
|
||||||
|
var select = document.getElementById(id);
|
||||||
select.value = value;
|
select.value = value;
|
||||||
OSRM.GUI.selectorOnChange(select);
|
OSRM.GUI._selectorOnChange(select);
|
||||||
|
},
|
||||||
|
|
||||||
|
// replace selector options with new names
|
||||||
|
selectorRenameOptions: function(id, options) {
|
||||||
|
var select = document.getElementById(id);
|
||||||
|
var select_options = select.getElementsByTagName("option");
|
||||||
|
var styledSelect = document.getElementById("styled-select-"+id);
|
||||||
|
|
||||||
|
// fill dropdown menu with new option names
|
||||||
|
for(var i = 0; i < select_options.length; i++) {
|
||||||
|
select_options[i].childNodes[0].nodeValue = options[i].display;
|
||||||
|
|
||||||
|
if(select_options[i].selected == true)
|
||||||
|
styledSelect.childNodes[0].nodeValue = options[i].display;
|
||||||
|
}
|
||||||
|
|
||||||
|
// resize visible dropdown menu as needed
|
||||||
|
styledSelect.style.width = (select.offsetWidth-2)+"px";
|
||||||
|
styledSelect.style.height = (select.offsetHeight)+"px"; // clientHeight gives the height of the opened dropbox!
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
@ -66,6 +66,10 @@ OSRM.Localization["de"] = {
|
|||||||
// printing
|
// printing
|
||||||
"OVERVIEW_MAP": "Übersichtskarte",
|
"OVERVIEW_MAP": "Übersichtskarte",
|
||||||
"NO_ROUTE_SELECTED": "Keine Route ausgewählt",
|
"NO_ROUTE_SELECTED": "Keine Route ausgewählt",
|
||||||
|
//routing engines
|
||||||
|
"ENGINE_0": "Auto (schnellste Strecke)",
|
||||||
|
"ENGINE_1": "Auto (nur Polen)",
|
||||||
|
"ENGINE_2": "Fahrrad (nur Polen)",
|
||||||
// directions
|
// directions
|
||||||
"N": "Norden",
|
"N": "Norden",
|
||||||
"E": "Ost",
|
"E": "Ost",
|
||||||
|
@ -66,6 +66,10 @@ OSRM.Localization["en"] = {
|
|||||||
// printing
|
// printing
|
||||||
"OVERVIEW_MAP": "Overview Map",
|
"OVERVIEW_MAP": "Overview Map",
|
||||||
"NO_ROUTE_SELECTED": "No route selected",
|
"NO_ROUTE_SELECTED": "No route selected",
|
||||||
|
// routing engines
|
||||||
|
"ENGINE_0": "Car (fastest route)",
|
||||||
|
"ENGINE_1": "Car (Poland only)",
|
||||||
|
"ENGINE_2": "Bike (Poland only)",
|
||||||
// directions
|
// directions
|
||||||
"N": "north",
|
"N": "north",
|
||||||
"E": "east",
|
"E": "east",
|
||||||
|
@ -54,8 +54,8 @@ setLanguageWrapper: function(language) { // wrapping required to correctly prev
|
|||||||
},
|
},
|
||||||
setLanguage: function(language) {
|
setLanguage: function(language) {
|
||||||
// change value of both language selectors
|
// change value of both language selectors
|
||||||
OSRM.GUI.selectorChange( document.getElementById('gui-language-toggle'), language );
|
OSRM.GUI.selectorChange( 'gui-language-toggle', language );
|
||||||
OSRM.GUI.selectorChange( document.getElementById('gui-language-2-toggle'), language );
|
OSRM.GUI.selectorChange( 'gui-language-2-toggle', language );
|
||||||
|
|
||||||
if( OSRM.Localization[language]) {
|
if( OSRM.Localization[language]) {
|
||||||
OSRM.Localization.current_language = language;
|
OSRM.Localization.current_language = language;
|
||||||
|
@ -338,6 +338,10 @@ html, body {
|
|||||||
|
|
||||||
|
|
||||||
/* styles for main-input input-mask-options */
|
/* styles for main-input input-mask-options */
|
||||||
|
#gui-engine-toggle
|
||||||
|
{
|
||||||
|
max-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* styles for main-output areas */
|
/* styles for main-output areas */
|
||||||
|
@ -70,6 +70,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
|||||||
<script src="routing/OSRM.RoutingDescription.js" type="text/javascript"></script>
|
<script src="routing/OSRM.RoutingDescription.js" type="text/javascript"></script>
|
||||||
<script src="routing/OSRM.RoutingGeometry.js" type="text/javascript"></script>
|
<script src="routing/OSRM.RoutingGeometry.js" type="text/javascript"></script>
|
||||||
<script src="gui/OSRM.RoutingGUI.js" type="text/javascript"></script>
|
<script src="gui/OSRM.RoutingGUI.js" type="text/javascript"></script>
|
||||||
|
<script src="gui/OSRM.RoutingEngineGUI.js" type="text/javascript"></script>
|
||||||
<script src="routing/OSRM.RoutingNoNames.js" type="text/javascript"></script>
|
<script src="routing/OSRM.RoutingNoNames.js" type="text/javascript"></script>
|
||||||
<script src="base/OSRM.Via.js" type="text/javascript"></script>
|
<script src="base/OSRM.Via.js" type="text/javascript"></script>
|
||||||
<script src="base/OSRM.Geocoder.js" type="text/javascript"></script>
|
<script src="base/OSRM.Geocoder.js" type="text/javascript"></script>
|
||||||
@ -207,8 +208,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
|||||||
<div class="full">
|
<div class="full">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="left"><a class="button" id="gui-reset">Reset</a></div>
|
<div class="left"><a class="button" id="gui-reset">Reset</a></div>
|
||||||
<!-- <div class="center"><select id="gui-engine-toggle" class="engine-select"></select></div> -->
|
<div class="center"><select id="gui-engine-toggle" class="engine-select"></select></div>
|
||||||
<div class="center"><a class="button-inactive" id="gui-zoom">Reset</a></div>
|
|
||||||
<div class="right"><a class="button" id="gui-reverse">Reverse</a></div>
|
<div class="right"><a class="button" id="gui-reverse">Reverse</a></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -209,7 +209,7 @@ OSRM.parseParameters = function(){
|
|||||||
var type = parseInt(name_val[1]);
|
var type = parseInt(name_val[1]);
|
||||||
if(type != 0 && type != 1)
|
if(type != 0 && type != 1)
|
||||||
return;
|
return;
|
||||||
OSRM.GUI.changeDistanceFormat(type);
|
OSRM.GUI.setDistanceFormat(type);
|
||||||
}
|
}
|
||||||
else if(name_val[0] == 'loc') {
|
else if(name_val[0] == 'loc') {
|
||||||
var coordinates = unescape(name_val[1]).split(',');
|
var coordinates = unescape(name_val[1]).split(',');
|
||||||
@ -247,16 +247,10 @@ OSRM.parseParameters = function(){
|
|||||||
}
|
}
|
||||||
else if(name_val[0] == 're') {
|
else if(name_val[0] == 're') {
|
||||||
var active_routing_engine = Number(name_val[1]);
|
var active_routing_engine = Number(name_val[1]);
|
||||||
if( active_routing_engine<0 || active_routing_engine>=OSRM.DEFAULTS.HOST_ROUTING_URL.length)
|
if( active_routing_engine<0 || active_routing_engine>=OSRM.DEFAULTS.ROUTING_ENGINES.length)
|
||||||
return;
|
return;
|
||||||
params.active_routing_engine = active_routing_engine;
|
params.active_routing_engine = active_routing_engine;
|
||||||
}
|
}
|
||||||
else if(name_val[0] == 'rm') {
|
|
||||||
var active_routing_metric = Number(name_val[1]);
|
|
||||||
if( active_routing_metric<0 )
|
|
||||||
return;
|
|
||||||
params.active_routing_metric = active_routing_metric;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// case 1: destination given
|
// case 1: destination given
|
||||||
@ -300,9 +294,7 @@ OSRM.parseParameters = function(){
|
|||||||
OSRM.G.active_alternative = params.active_alternative || 0;
|
OSRM.G.active_alternative = params.active_alternative || 0;
|
||||||
|
|
||||||
// set routing server
|
// set routing server
|
||||||
OSRM.G.active_routing_engine = params.active_routing_engine || 0;
|
OSRM.GUI.setRoutingEngine( params.active_routing_engine || OSRM.DEFAULTS.ROUTING_ENGINE );
|
||||||
OSRM.G.active_routing_metric = params.active_routing_metric || 0;
|
|
||||||
OSRM.G.active_routing_server_url = OSRM.DEFAULTS.HOST_ROUTING_URL[ OSRM.G.active_routing_engine ];
|
|
||||||
|
|
||||||
// compute route
|
// compute route
|
||||||
OSRM.Routing.getRoute({keepAlternative:true});
|
OSRM.Routing.getRoute({keepAlternative:true});
|
||||||
|
@ -236,7 +236,7 @@ printWindowLoaded: function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// scale control
|
// scale control
|
||||||
print_window.OSRM.G.DISTANCE_FORMAT = OSRM.G.DISTANCE_FORMAT;
|
print_window.OSRM.G.active_distance_format = OSRM.G.active_distance_format;
|
||||||
|
|
||||||
// localization
|
// localization
|
||||||
print_window.OSRM.G.Localization.culture = OSRM.loc("CULTURE");
|
print_window.OSRM.G.Localization.culture = OSRM.loc("CULTURE");
|
||||||
|
@ -78,8 +78,8 @@ OSRM.drawMap = function(tile_server, bounds) {
|
|||||||
|
|
||||||
// add scale control
|
// add scale control
|
||||||
OSRM.G.map.scaleControl = new L.Control.Scale();
|
OSRM.G.map.scaleControl = new L.Control.Scale();
|
||||||
OSRM.G.map.scaleControl.options.metric = (OSRM.G.DISTANCE_FORMAT != 1);
|
OSRM.G.map.scaleControl.options.metric = (OSRM.G.active_distance_format != 1);
|
||||||
OSRM.G.map.scaleControl.options.imperial = (OSRM.G.DISTANCE_FORMAT == 1);
|
OSRM.G.map.scaleControl.options.imperial = (OSRM.G.active_distance_format == 1);
|
||||||
OSRM.G.map.scaleControl.addTo(OSRM.G.map);
|
OSRM.G.map.scaleControl.addTo(OSRM.G.map);
|
||||||
|
|
||||||
// need to rebuild objects for instanceof to work correctly
|
// need to rebuild objects for instanceof to work correctly
|
||||||
|
@ -31,9 +31,9 @@ OSRM.Routing = {
|
|||||||
|
|
||||||
// init routing data structures
|
// init routing data structures
|
||||||
init: function() {
|
init: function() {
|
||||||
OSRM.G.active_routing_engine = 0;
|
// init variables
|
||||||
OSRM.G.active_routing_metric = 0;
|
OSRM.GUI.setRoutingEngine( OSRM.DEFAULTS.ROUTING_ENGINE );
|
||||||
OSRM.G.active_routing_server_url = OSRM.DEFAULTS.HOST_ROUTING_URL[ OSRM.G.active_routing_engine ];
|
|
||||||
OSRM.G.markers = new OSRM.Markers();
|
OSRM.G.markers = new OSRM.Markers();
|
||||||
OSRM.G.route = new OSRM.Route();
|
OSRM.G.route = new OSRM.Route();
|
||||||
OSRM.G.response = { via_points:[] };
|
OSRM.G.response = { via_points:[] };
|
||||||
|
@ -30,9 +30,8 @@ onClickRouteDescription: function(lat, lng) {
|
|||||||
onClickCreateShortcut: function(src){
|
onClickCreateShortcut: function(src){
|
||||||
src += '&z='+ OSRM.G.map.getZoom() + '¢er=' + OSRM.G.map.getCenter().lat.toFixed(6) + ',' + OSRM.G.map.getCenter().lng.toFixed(6);
|
src += '&z='+ OSRM.G.map.getZoom() + '¢er=' + OSRM.G.map.getCenter().lat.toFixed(6) + ',' + OSRM.G.map.getCenter().lng.toFixed(6);
|
||||||
src += '&alt='+OSRM.G.active_alternative;
|
src += '&alt='+OSRM.G.active_alternative;
|
||||||
src += '&df=' + OSRM.G.DISTANCE_FORMAT;
|
src += '&df=' + OSRM.G.active_distance_format;
|
||||||
src += '&re=' + OSRM.G.active_routing_engine;
|
src += '&re=' + OSRM.G.active_routing_engine;
|
||||||
src += '&rm=' + OSRM.G.active_routing_metric;
|
|
||||||
|
|
||||||
var source = OSRM.DEFAULTS.SHORTENER_PARAMETERS.replace(/%url/, OSRM.DEFAULTS.HOST_SHORTENER_URL+src);
|
var source = OSRM.DEFAULTS.SHORTENER_PARAMETERS.replace(/%url/, OSRM.DEFAULTS.HOST_SHORTENER_URL+src);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user