support for multiple routing servers
This commit is contained in:
parent
ecd342224e
commit
8ecae7ef97
@ -19,7 +19,7 @@ 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',
|
HOST_ROUTING_URL: ['http://router.project-osrm.org/viaroute'],
|
||||||
HOST_SHORTENER_URL: 'http://map.project-osrm.org/shorten/',
|
HOST_SHORTENER_URL: 'http://map.project-osrm.org/shorten/',
|
||||||
HOST_TIMESTAMP_URL: 'http://router.project-osrm.org/timestamp',
|
HOST_TIMESTAMP_URL: 'http://router.project-osrm.org/timestamp',
|
||||||
HOST_GEOCODER_URL: 'http://nominatim.openstreetmap.org/search',
|
HOST_GEOCODER_URL: 'http://nominatim.openstreetmap.org/search',
|
||||||
|
@ -169,7 +169,7 @@ OSRM.extend( OSRM.HistoryRoute,{
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
_buildCall: function(history_id) {
|
_buildCall: function(history_id) {
|
||||||
var source = OSRM.DEFAULTS.HOST_ROUTING_URL;
|
var source = OSRM.DEFAULTS.HOST_ROUTING_URL[OSRM.G.active_routing_server];
|
||||||
source += '?z=' + OSRM.G.map.getZoom() + '&output=json&jsonp=%jsonp';
|
source += '?z=' + OSRM.G.map.getZoom() + '&output=json&jsonp=%jsonp';
|
||||||
|
|
||||||
if(this._history[history_id].checksum)
|
if(this._history[history_id].checksum)
|
||||||
|
@ -238,6 +238,12 @@ OSRM.parseParameters = function(){
|
|||||||
return;
|
return;
|
||||||
params.active_alternative = active_alternative;
|
params.active_alternative = active_alternative;
|
||||||
}
|
}
|
||||||
|
else if(name_val[0] == 'rs') {
|
||||||
|
var active_routing_server = Number(name_val[1]);
|
||||||
|
if( active_routing_server<0 || active_routing_server>=OSRM.DEFAULTS.HOST_ROUTING_URL.length)
|
||||||
|
return;
|
||||||
|
params.active_routing_server = active_routing_server;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// case 1: destination given
|
// case 1: destination given
|
||||||
@ -279,6 +285,9 @@ OSRM.parseParameters = function(){
|
|||||||
|
|
||||||
// set active alternative (if via points are set or alternative does not exists: automatic fallback to shortest route)
|
// set active alternative (if via points are set or alternative does not exists: automatic fallback to shortest route)
|
||||||
OSRM.G.active_alternative = params.active_alternative || 0;
|
OSRM.G.active_alternative = params.active_alternative || 0;
|
||||||
|
|
||||||
|
// set routing server
|
||||||
|
OSRM.G.active_routing_server = params.active_routing_server || 0;
|
||||||
|
|
||||||
// compute route
|
// compute route
|
||||||
OSRM.Routing.getRoute({keepAlternative:true});
|
OSRM.Routing.getRoute({keepAlternative:true});
|
||||||
|
@ -31,6 +31,7 @@ OSRM.Routing = {
|
|||||||
|
|
||||||
// init routing data structures
|
// init routing data structures
|
||||||
init: function() {
|
init: function() {
|
||||||
|
OSRM.G.active_routing_server = 0;
|
||||||
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:[] };
|
||||||
@ -159,7 +160,7 @@ draggingTimeout: function() {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_buildCall: function() {
|
_buildCall: function() {
|
||||||
var source = OSRM.DEFAULTS.HOST_ROUTING_URL;
|
var source = OSRM.DEFAULTS.HOST_ROUTING_URL[OSRM.G.active_routing_server];
|
||||||
source += '?z=' + OSRM.G.map.getZoom() + '&output=json&jsonp=%jsonp';
|
source += '?z=' + OSRM.G.map.getZoom() + '&output=json&jsonp=%jsonp';
|
||||||
if(OSRM.G.markers.checksum)
|
if(OSRM.G.markers.checksum)
|
||||||
source += '&checksum=' + OSRM.G.markers.checksum;
|
source += '&checksum=' + OSRM.G.markers.checksum;
|
||||||
|
@ -31,6 +31,7 @@ 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.DISTANCE_FORMAT;
|
||||||
|
src += '&rs=' + OSRM.G.active_routing_server;
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
@ -61,7 +62,7 @@ show: function(response) {
|
|||||||
var route_link ='[<a class="route-link" onclick="OSRM.RoutingDescription.onClickCreateShortcut(\'' + OSRM.DEFAULTS.WEBSITE_URL + query_string + '\')">'+OSRM.loc("GET_LINK_TO_ROUTE")+'</a>]';
|
var route_link ='[<a class="route-link" onclick="OSRM.RoutingDescription.onClickCreateShortcut(\'' + OSRM.DEFAULTS.WEBSITE_URL + query_string + '\')">'+OSRM.loc("GET_LINK_TO_ROUTE")+'</a>]';
|
||||||
|
|
||||||
// create GPX link
|
// create GPX link
|
||||||
var gpx_link = '[<a class="route-link" onClick="document.location.href=\'' + OSRM.DEFAULTS.HOST_ROUTING_URL + query_string + '&output=gpx\';">'+OSRM.loc("GPX_FILE")+'</a>]';
|
var gpx_link = '[<a class="route-link" onClick="document.location.href=\'' + OSRM.DEFAULTS.HOST_ROUTING_URL[OSRM.G.active_routing_server] + query_string + '&output=gpx\';">'+OSRM.loc("GPX_FILE")+'</a>]';
|
||||||
|
|
||||||
// create route description
|
// create route description
|
||||||
var positions = OSRM.G.route.getPositions();
|
var positions = OSRM.G.route.getPositions();
|
||||||
|
Loading…
Reference in New Issue
Block a user