moved list of supported languages and tileservers to config file

This commit is contained in:
DennisSchiefer 2012-04-14 18:26:32 +02:00
parent 899d216b9b
commit bf681855ed
5 changed files with 57 additions and 51 deletions

View File

@ -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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 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

View File

@ -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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 2011 Mapnik',
options:{maxZoom: 18}
},
{ display_name: 'osm.de',
url:'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
attribution:'Map data &copy; 2011 OpenStreetMap contributors, Imagery &copy; 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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 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 &copy; 2011 OpenStreetMap contributors, Imagery &copy; 2011 CloudMade',
options:{maxZoom: 18}
}
]
}; };

View File

@ -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");

View File

@ -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");

View File

@ -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";