moved list of supported languages and tileservers to config file
This commit is contained in:
parent
899d216b9b
commit
bf681855ed
@ -72,56 +72,34 @@ init: function() {
|
|||||||
OSRM.GUI.init();
|
OSRM.GUI.init();
|
||||||
|
|
||||||
// setup tile servers
|
// setup tile servers
|
||||||
var osmorgURL = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
var tile_servers = OSRM.DEFAULTS.TILE_SERVERS;
|
||||||
osmorgAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 Mapnik',
|
var base_maps = {};
|
||||||
osmorgOptions = {maxZoom: 18, attribution: osmorgAttribution};
|
for(var i=0, size=tile_servers.length; i<size; i++) {
|
||||||
|
tile_servers[i].options.attribution = tile_servers[i].attribution;
|
||||||
var osmdeURL = 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
|
base_maps[ tile_servers[i].display_name ] = new L.TileLayer( tile_servers[i].url, tile_servers[i].options );
|
||||||
osmdeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 Mapnik',
|
}
|
||||||
osmdeOptions = {maxZoom: 18, attribution: osmdeAttribution};
|
|
||||||
|
|
||||||
var mapquestURL = 'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
|
|
||||||
mapquestAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 MapQuest',
|
|
||||||
mapquestOptions = {maxZoom: 18, attribution: mapquestAttribution, subdomains: '1234'};
|
|
||||||
|
|
||||||
var cloudmadeURL = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
|
|
||||||
cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
|
|
||||||
cloudmadeOptions = {maxZoom: 18, attribution: cloudmadeAttribution};
|
|
||||||
|
|
||||||
var osmorg = new L.TileLayer(osmorgURL, osmorgOptions),
|
|
||||||
osmde = new L.TileLayer(osmdeURL, osmdeOptions),
|
|
||||||
mapquest = new L.TileLayer(mapquestURL, mapquestOptions),
|
|
||||||
cloudmade = new L.TileLayer(cloudmadeURL, cloudmadeOptions);
|
|
||||||
|
|
||||||
// setup map
|
// setup map
|
||||||
OSRM.G.map = new OSRM.MapView('map', {
|
OSRM.G.map = new OSRM.MapView('map', {
|
||||||
center: new L.LatLng(51.505, -0.09),
|
center: new L.LatLng(OSRM.DEFAULTS.ONLOAD_LATITUDE, OSRM.DEFAULTS.ONLOAD_LONGITUDE),
|
||||||
zoom: 13,
|
zoom: OSRM.DEFAULTS.ZOOM_LEVEL,
|
||||||
zoomAnimation: false, // false: removes animations and hiding of routes during zoom
|
layers: [base_maps[tile_servers[0].display_name]],
|
||||||
fadeAnimation: false,
|
zoomAnimation: false, // remove animations -> routes are not hidden during zoom
|
||||||
layers: [osmorg]
|
fadeAnimation: false
|
||||||
});
|
});
|
||||||
|
|
||||||
// add tileservers
|
// add layer control
|
||||||
var baseMaps = {
|
var layersControl = new L.Control.Layers(base_maps, {});
|
||||||
"osm.org": osmorg,
|
|
||||||
"osm.de": osmde,
|
|
||||||
"MapQuest": mapquest,
|
|
||||||
"CloudMade": cloudmade
|
|
||||||
};
|
|
||||||
|
|
||||||
var overlayMaps = {};
|
|
||||||
var layersControl = new L.Control.Layers(baseMaps, overlayMaps);
|
|
||||||
OSRM.G.map.addControl(layersControl);
|
OSRM.G.map.addControl(layersControl);
|
||||||
|
|
||||||
// move zoom markers
|
// move zoom markers
|
||||||
getElementsByClassName(document,'leaflet-control-zoom')[0].style.left=(OSRM.GUI.width+10)+"px";
|
getElementsByClassName(document,'leaflet-control-zoom')[0].style.left=(OSRM.GUI.width+10)+"px";
|
||||||
getElementsByClassName(document,'leaflet-control-zoom')[0].style.top="5px";
|
getElementsByClassName(document,'leaflet-control-zoom')[0].style.top="5px";
|
||||||
|
|
||||||
// initial map position and zoom
|
// initial correct map position and zoom (respect UI visibility, use browser position)
|
||||||
var position = new L.LatLng( OSRM.DEFAULTS.ONLOAD_LATITUDE, OSRM.DEFAULTS.ONLOAD_LONGITUDE);
|
var position = new L.LatLng( OSRM.DEFAULTS.ONLOAD_LATITUDE, OSRM.DEFAULTS.ONLOAD_LONGITUDE);
|
||||||
OSRM.G.map.setViewUI( position, OSRM.DEFAULTS.ZOOM_LEVEL);
|
OSRM.G.map.setViewUI( position, OSRM.DEFAULTS.ZOOM_LEVEL);
|
||||||
if (navigator.geolocation && document.URL.indexOf("file://") == -1)
|
if (navigator.geolocation && document.URL.indexOf("file://") == -1) // convenience during development, as FF doesn't save rights for local files
|
||||||
navigator.geolocation.getCurrentPosition(OSRM.Map.geolocationResponse);
|
navigator.geolocation.getCurrentPosition(OSRM.Map.geolocationResponse);
|
||||||
|
|
||||||
// map events
|
// map events
|
||||||
|
@ -24,14 +24,44 @@ OSRM.DEFAULTS = {
|
|||||||
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 #
|
WEBSITE_URL: document.URL.replace(/#*(\?.*|$)/i,""), // truncates URL before first ?, and removes tailing #
|
||||||
JSONP_TIMEOUT: 5000,
|
JSONP_TIMEOUT: 10000,
|
||||||
ZOOM_LEVEL: 14,
|
ZOOM_LEVEL: 14,
|
||||||
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,
|
HIGHLIGHT_ZOOM_LEVEL: 16,
|
||||||
|
GEOCODER_BOUNDS: '', // the world is not enough!
|
||||||
|
//GEOCODER_BOUNDS: '&bounded=1&viewbox=-27.0,72.0,46.0,36.0', // bounds for Europe
|
||||||
|
|
||||||
LANGUAGE: "en",
|
LANGUAGE: "en",
|
||||||
LANGUAGE_FILES_DIRECTORY: "localization/",
|
LANGUAGE_FILES_DIRECTORY: "localization/",
|
||||||
GEOCODER_BOUNDS: '&bounded=1&viewbox=-27.0,72.0,46.0,36.0'
|
LANUGAGE_ONDEMAND_RELOADING: true,
|
||||||
|
LANGUAGE_SUPPORTED: [
|
||||||
|
{display_name:"en", encoding:"en"},
|
||||||
|
{display_name:"de", encoding:"de"}
|
||||||
|
],
|
||||||
|
|
||||||
|
TILE_SERVERS: [
|
||||||
|
{ display_name: 'osm.org',
|
||||||
|
url:'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
|
attribution:'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 Mapnik',
|
||||||
|
options:{maxZoom: 18}
|
||||||
|
},
|
||||||
|
{ display_name: 'osm.de',
|
||||||
|
url:'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
|
||||||
|
attribution:'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 Mapnik',
|
||||||
|
options:{maxZoom: 18}
|
||||||
|
},
|
||||||
|
{ display_name: 'MapQuest',
|
||||||
|
url:'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
|
||||||
|
attribution:'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 MapQuest',
|
||||||
|
options:{maxZoom: 18, subdomains: '1234'}
|
||||||
|
},
|
||||||
|
{ display_name: 'CloudMade',
|
||||||
|
url:'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
|
||||||
|
attribution:'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
|
||||||
|
options:{maxZoom: 18}
|
||||||
|
}
|
||||||
|
]
|
||||||
};
|
};
|
||||||
|
@ -84,5 +84,5 @@ OSRM.Localization["de"] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// set GUI language on load
|
// set GUI language on load
|
||||||
if( OSRM.Localization.use_ondemand_reloading==true)
|
if( OSRM.DEFAULTS.LANUGAGE_ONDEMAND_RELOADING==true )
|
||||||
OSRM.Localization.setLanguage("de");
|
OSRM.Localization.setLanguage("de");
|
@ -84,5 +84,5 @@ OSRM.Localization["en"] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//set GUI language on load
|
//set GUI language on load
|
||||||
if( OSRM.Localization.use_ondemand_reloading==true)
|
if( OSRM.DEFAULTS.LANUGAGE_ONDEMAND_RELOADING == true )
|
||||||
OSRM.Localization.setLanguage("en");
|
OSRM.Localization.setLanguage("en");
|
@ -21,10 +21,6 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
|||||||
|
|
||||||
OSRM.Localization = {
|
OSRM.Localization = {
|
||||||
|
|
||||||
use_ondemand_reloading: true,
|
|
||||||
supported_languages: [ {display_name:"en", encoding:"en"},
|
|
||||||
{display_name:"de", encoding:"de"}
|
|
||||||
],
|
|
||||||
current_language: OSRM.DEFAULTS.LANGUAGE,
|
current_language: OSRM.DEFAULTS.LANGUAGE,
|
||||||
|
|
||||||
// initialize localization
|
// initialize localization
|
||||||
@ -36,10 +32,11 @@ init: function() {
|
|||||||
select.onchange = function() { OSRM.Localization.setLanguage(this.value); };
|
select.onchange = function() { OSRM.Localization.setLanguage(this.value); };
|
||||||
|
|
||||||
// fill dropdown menu
|
// fill dropdown menu
|
||||||
for(var i=0, size=OSRM.Localization.supported_languages.length; i<size; i++) {
|
var supported_languages = OSRM.DEFAULTS.LANGUAGE_SUPPORTED;
|
||||||
|
for(var i=0, size=supported_languages.length; i<size; i++) {
|
||||||
var option=document.createElement("option");
|
var option=document.createElement("option");
|
||||||
option.innerHTML = OSRM.Localization.supported_languages[i].display_name;
|
option.innerHTML = supported_languages[i].display_name;
|
||||||
option.value = OSRM.Localization.supported_languages[i].encoding;
|
option.value = supported_languages[i].encoding;
|
||||||
select.appendChild(option);
|
select.appendChild(option);
|
||||||
}
|
}
|
||||||
select.value = OSRM.DEFAULTS.LANGUAGE;
|
select.value = OSRM.DEFAULTS.LANGUAGE;
|
||||||
@ -87,9 +84,10 @@ setLanguage: function(language) {
|
|||||||
document.getElementById('information-box').innerHTML = "";
|
document.getElementById('information-box').innerHTML = "";
|
||||||
document.getElementById('information-box-header').innerHTML = "";
|
document.getElementById('information-box-header').innerHTML = "";
|
||||||
}
|
}
|
||||||
} else if(OSRM.Localization.use_ondemand_reloading==true) {
|
} else if(OSRM.DEFAULTS.LANUGAGE_ONDEMAND_RELOADING==true) {
|
||||||
for(var i=0, size=OSRM.Localization.supported_languages.length; i<size; i++) {
|
var supported_languages = OSRM.DEFAULTS.LANGUAGE_SUPPORTED;
|
||||||
if( OSRM.Localization.supported_languages[i].encoding == language) {
|
for(var i=0, size=supported_languages.length; i<size; i++) {
|
||||||
|
if( supported_languages[i].encoding == language) {
|
||||||
var script = document.createElement('script');
|
var script = document.createElement('script');
|
||||||
script.type = 'text/javascript';
|
script.type = 'text/javascript';
|
||||||
script.src = OSRM.DEFAULTS.LANGUAGE_FILES_DIRECTORY + "OSRM.Locale."+language+".js";
|
script.src = OSRM.DEFAULTS.LANGUAGE_FILES_DIRECTORY + "OSRM.Locale."+language+".js";
|
||||||
|
Loading…
Reference in New Issue
Block a user