improved language support: geocoding uses language settings, geocoding
results & locations are also translated if possible
This commit is contained in:
parent
893c09f6fc
commit
ea207cef6e
@ -30,6 +30,10 @@ init: function() {
|
||||
OSRM.GUI.visible = true;
|
||||
OSRM.GUI.width = document.getElementById("main-wrapper").clientWidth;
|
||||
|
||||
// init starting source/target
|
||||
document.getElementById('gui-input-source').value = OSRM.DEFAULTS.ONLOAD_SOURCE;
|
||||
document.getElementById('gui-input-target').value = OSRM.DEFAULTS.ONLOAD_TARGET;
|
||||
|
||||
// init events
|
||||
// [TODO: switch to new event model]
|
||||
document.getElementById("gui-toggle-in").onclick = OSRM.GUI.toggleMain;
|
||||
@ -77,9 +81,6 @@ setLanguage: function() {
|
||||
document.getElementById("gui-input-source").title = OSRM.loc("GUI_START_TOOLTIP");
|
||||
document.getElementById("gui-input-target").title = OSRM.loc("GUI_END_TOOLTIP");
|
||||
document.getElementById("legal-notice").innerHTML = OSRM.loc("GUI_LEGAL_NOTICE");
|
||||
|
||||
document.getElementById('gui-input-source').value = OSRM.DEFAULTS.ONLOAD_SOURCE;
|
||||
document.getElementById('gui-input-target').value = OSRM.DEFAULTS.ONLOAD_TARGET;
|
||||
},
|
||||
|
||||
// show/hide main-gui
|
||||
|
@ -43,7 +43,7 @@ call: function(marker_id, query) {
|
||||
}
|
||||
|
||||
//build request for geocoder
|
||||
var call = OSRM.DEFAULTS.HOST_GEOCODER_URL + "?format=json" + OSRM.DEFAULTS.GEOCODER_BOUNDS + "&q=" + query;
|
||||
var call = OSRM.DEFAULTS.HOST_GEOCODER_URL + "?format=json" + OSRM.DEFAULTS.GEOCODER_BOUNDS + "&accept-language="+OSRM.DEFAULTS.LANGUAGE+"&q=" + query;
|
||||
OSRM.JSONP.call( call, OSRM.Geocoder._showResults, OSRM.Geocoder._showResults_Timeout, OSRM.DEFAULTS.JSONP_TIMEOUT, "geocoder_"+marker_id, {marker_id:marker_id,query:query} );
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@ updateAddress: function(marker_id, do_fallback_to_lat_lng) {
|
||||
} else
|
||||
return;
|
||||
|
||||
var call = OSRM.DEFAULTS.HOST_REVERSE_GEOCODER_URL + "?format=json" + "&lat=" + lat + "&lon=" + lng;
|
||||
var call = OSRM.DEFAULTS.HOST_REVERSE_GEOCODER_URL + "?format=json" + "&accept-language="+OSRM.DEFAULTS.LANGUAGE + "&lat=" + lat + "&lon=" + lng;
|
||||
OSRM.JSONP.call( call, OSRM.Geocoder._showReverseResults, OSRM.Geocoder._showReverseResults_Timeout, OSRM.DEFAULTS.JSONP_TIMEOUT, "reverse_geocoder_"+marker_id, {marker_id:marker_id, do_fallback: do_fallback_to_lat_lng} );
|
||||
},
|
||||
|
||||
|
@ -21,7 +21,9 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
||||
|
||||
OSRM.Localization = {
|
||||
|
||||
supported_languages: ["en", "de"],
|
||||
supported_languages: [ {display_name:"en", encoding:"en"},
|
||||
{display_name:"de", encoding:"de"}
|
||||
],
|
||||
|
||||
// initialize localization
|
||||
init: function() {
|
||||
@ -33,8 +35,8 @@ init: function() {
|
||||
// fill dropdown menu
|
||||
for(var i=0, size=OSRM.Localization.supported_languages.length; i<size; i++) {
|
||||
var option=document.createElement("option");
|
||||
option.innerHTML = OSRM.Localization.supported_languages[i];
|
||||
option.value = OSRM.Localization.supported_languages[i];
|
||||
option.innerHTML = OSRM.Localization.supported_languages[i].display_name;
|
||||
option.value = OSRM.Localization.supported_languages[i].encoding;
|
||||
select.appendChild(option);
|
||||
}
|
||||
|
||||
@ -51,8 +53,17 @@ change: function(language) {
|
||||
OSRM.DEFAULTS.LANGUAGE = language;
|
||||
if( OSRM.Localization[language]) {
|
||||
OSRM.GUI.setLanguage();
|
||||
if( document.getElementById('information-box').innerHTML != "" )
|
||||
OSRM.RoutingDescription.show( OSRM.G.response );
|
||||
if( OSRM.G.markers.route.length > 1)
|
||||
OSRM.Routing.getRoute();
|
||||
else if(OSRM.G.markers.route.length > 0 && document.getElementById('information-box').innerHTML != "" ) {
|
||||
OSRM.Geocoder.call( OSRM.C.SOURCE_LABEL, document.getElementById("gui-input-source").value );
|
||||
OSRM.Geocoder.call( OSRM.C.TARGET_LABEL, document.getElementById("gui-input-target").value );
|
||||
} else {
|
||||
OSRM.Geocoder.updateAddress(OSRM.C.SOURCE_LABEL, false);
|
||||
OSRM.Geocoder.updateAddress(OSRM.C.TARGET_LABEL, false);
|
||||
document.getElementById('information-box').innerHTML = "";
|
||||
document.getElementById('information-box-header').innerHTML = "";
|
||||
}
|
||||
} else {
|
||||
var script = document.createElement('script');
|
||||
script.type = 'text/javascript';
|
||||
|
@ -71,7 +71,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
||||
|
||||
|
||||
<!-- body -->
|
||||
<body class="base-font">
|
||||
<body class="base-font not-selectable">
|
||||
|
||||
<!--map-->
|
||||
<div id="map"></div>
|
||||
|
Loading…
Reference in New Issue
Block a user