completed language-dependent bing maps

This commit is contained in:
shiin 2012-05-15 21:03:58 +02:00
parent ba0064af99
commit 26262541a4
8 changed files with 27 additions and 24 deletions

View File

@ -43,12 +43,12 @@ OSRM.DEFAULTS = {
LANGUAGE: "en", LANGUAGE: "en",
LANUGAGE_ONDEMAND_RELOADING: true, LANUGAGE_ONDEMAND_RELOADING: true,
LANGUAGE_SUPPORTED: [ LANGUAGE_SUPPORTED: [
{encoding:"en", name:"English", culture:"en-US"}, {encoding:"en", name:"English"},
{encoding:"de", name:"Deutsch", culture:"de-DE"}, {encoding:"de", name:"Deutsch"},
{encoding:"dk", name:"Dansk", culture:"en-US"}, {encoding:"dk", name:"Dansk"},
{encoding:"fi", name:"Suomi", culture:"en-US"}, {encoding:"fi", name:"Suomi"},
{encoding:"fr", name:"Français", culture:"fr-FR"}, {encoding:"fr", name:"Français"},
{encoding:"it", name:"Italiano", culture:"it-IT"}, {encoding:"it", name:"Italiano"},
{encoding:"pl", name:"Polski", culture:"en-US"} {encoding:"pl", name:"Polski", culture:"en-US"}
], ],
@ -75,14 +75,16 @@ OSRM.DEFAULTS = {
}, },
{ {
display_name: 'Bing Road', display_name: 'Bing Road',
apikey:'AjCb2f6Azv_xt9c6pl_xok96bgAYrXQNctnG4o07sTj4iS9N68Za4B3pRJyeCjGr', apikey:'AjCb2f6Azv_xt9c6pl_xok96bgAYrXQNctnG4o07sTj4iS9N68Za4B3pRJyeCjGr', // please use your own apikey (http://msdn.microsoft.com/en-us/library/ff428642.aspx)
type:"Road", type:"Road",
options:{minZoom: 1},
bing:true, bing:true,
}, },
{ {
display_name: 'Bing Aerial', display_name: 'Bing Aerial',
apikey:'AjCb2f6Azv_xt9c6pl_xok96bgAYrXQNctnG4o07sTj4iS9N68Za4B3pRJyeCjGr', apikey:'AjCb2f6Azv_xt9c6pl_xok96bgAYrXQNctnG4o07sTj4iS9N68Za4B3pRJyeCjGr', // please use your own apikey (http://msdn.microsoft.com/en-us/library/ff428642.aspx)
type:"Aerial", type:"Aerial",
options:{minZoom: 1},
bing:true, bing:true,
} }
] ]

View File

@ -37,7 +37,7 @@ init: function() {
var base_maps = {}; var base_maps = {};
for(var i=0, size=tile_servers.length; i<size; i++) { for(var i=0, size=tile_servers.length; i<size; i++) {
if( tile_servers[i].bing == true ) { if( tile_servers[i].bing == true ) {
base_maps[ tile_servers[i].display_name ] = new L.TileLayer.Bing( tile_servers[i].apikey, tile_servers[i].type ); base_maps[ tile_servers[i].display_name ] = new L.TileLayer.Bing( tile_servers[i].apikey, tile_servers[i].type, tile_servers[i].options );
} else { } else {
tile_servers[i].options.attribution = tile_servers[i].attribution; tile_servers[i].options.attribution = tile_servers[i].attribution;
base_maps[ tile_servers[i].display_name ] = new L.TileLayer( tile_servers[i].url, tile_servers[i].options ); base_maps[ tile_servers[i].display_name ] = new L.TileLayer( tile_servers[i].url, tile_servers[i].options );

View File

@ -32,6 +32,8 @@ L.TileLayer.Bing = L.TileLayer.extend({
'href="http://www.microsoft.com/maps/product/terms.html">' + 'href="http://www.microsoft.com/maps/product/terms.html">' +
'Terms of Use</a></span></span>', 'Terms of Use</a></span></span>',
supportedCultures: {"en":"en-US", "de":"de-DE", "fr":"fr-FR", "it":"it-IT", "es":"es-ES", "nl":"nl-BE"},
initialize: function(/*String*/ apiKey, /*String*/ mapType, /*Object*/ options) { initialize: function(/*String*/ apiKey, /*String*/ mapType, /*Object*/ options) {
this._apiKey = apiKey; this._apiKey = apiKey;
@ -42,6 +44,11 @@ L.TileLayer.Bing = L.TileLayer.extend({
L.Util.setOptions(this, options); L.Util.setOptions(this, options);
}, },
redraw: function() {
this._reset();
this._update();
},
_loadMetadata: function() { _loadMetadata: function() {
this._callbackId = "_l_tilelayer_bing_" + (L.TileLayer.Bing._callbackId++); this._callbackId = "_l_tilelayer_bing_" + (L.TileLayer.Bing._callbackId++);
var that = this; var that = this;
@ -110,8 +117,7 @@ L.TileLayer.Bing = L.TileLayer.extend({
} }
return this._url return this._url
//.replace('{culture}', OSRM.Localization.current_culture) .replace('{culture}', this.supportedCultures[OSRM.Localization.current_language] || "en-US" )
.replace('{culture}', "en-US")
.replace('{subdomain}', subdomains[(xy.x + xy.y) % subdomains.length]) .replace('{subdomain}', subdomains[(xy.x + xy.y) % subdomains.length])
.replace('{quadkey}', quadDigits.join("")); .replace('{quadkey}', quadDigits.join(""));
}, },

View File

@ -52,21 +52,14 @@ 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( document.getElementById('gui-language-toggle'), language );
OSRM.GUI.selectorChange( document.getElementById('gui-language-2-toggle'), language ); OSRM.GUI.selectorChange( document.getElementById('gui-language-2-toggle'), language );
// // change culture value
// OSRM.Localization.current_culture = language+"-"+language;
// var supported_languages = OSRM.DEFAULTS.LANGUAGE_SUPPORTED;
// for(var i=0, size=supported_languages.length; i<size; i++) {
// if( supported_languages[i].encoding==language )
// OSRM.Localization.current_culture = supported_languages[i].culture;
// }
if( OSRM.Localization[language]) { if( OSRM.Localization[language]) {
OSRM.Localization.current_language = language; OSRM.Localization.current_language = language;
// change gui language // change gui language
OSRM.GUI.setLabels(); OSRM.GUI.setLabels();
// // change map language // change map language
// OSRM.G.map.layerControl.getActiveLayer()._reset(); if(OSRM.G.map.layerControl.getActiveLayer().redraw)
// OSRM.G.map.layerControl.getActiveLayer()._update(); OSRM.G.map.layerControl.getActiveLayer().redraw();
// requery data // requery data
if( OSRM.G.markers == null ) if( OSRM.G.markers == null )
return; return;

View File

@ -36,12 +36,12 @@ or see http://www.gnu.org/licenses/agpl.txt.
<!-- scripts --> <!-- scripts -->
<script src="leaflet/leaflet-src.js" type="text/javascript"></script> <script src="leaflet/leaflet-src.js" type="text/javascript"></script>
<script src="leaflet/TileLayer.Bing.js" type="text/javascript"></script>
<script src="base/leaflet/L.Bugfixes.js" type="text/javascript"></script> <script src="base/leaflet/L.Bugfixes.js" type="text/javascript"></script>
<script src="base/leaflet/L.Control.QueryableLayers.js" type="text/javascript"></script> <script src="base/leaflet/L.Control.QueryableLayers.js" type="text/javascript"></script>
<script src="base/leaflet/L.DashedPolyline.js" type="text/javascript"></script> <script src="base/leaflet/L.DashedPolyline.js" type="text/javascript"></script>
<script src="base/leaflet/L.MouseMarker.js" type="text/javascript"></script> <script src="base/leaflet/L.MouseMarker.js" type="text/javascript"></script>
<script src="base/leaflet/L.SwitchableIcon.js" type="text/javascript"></script> <script src="base/leaflet/L.SwitchableIcon.js" type="text/javascript"></script>
<script src="base/leaflet/L.TileLayer.Bing.js" type="text/javascript"></script>
<script src="OSRM.base.js" type="text/javascript"></script> <script src="OSRM.base.js" type="text/javascript"></script>
<script src="OSRM.config.js" type="text/javascript"></script> <script src="OSRM.config.js" type="text/javascript"></script>

View File

@ -231,6 +231,7 @@ printWindowLoaded: function(){
} }
// localization // localization
print_window.OSRM.Localization.current_language = OSRM.Localization.current_language;
print_document.getElementById('description-label').innerHTML = OSRM.loc( "ROUTE_DESCRIPTION" ); print_document.getElementById('description-label').innerHTML = OSRM.loc( "ROUTE_DESCRIPTION" );
print_document.getElementById('overview-map-label').innerHTML = OSRM.loc( "OVERVIEW_MAP" ); print_document.getElementById('overview-map-label').innerHTML = OSRM.loc( "OVERVIEW_MAP" );
if( !OSRM.G.route.isRoute() || !OSRM.G.route.isShown() ) { // error message if no route available (can trigger if user refreshes print-window) if( !OSRM.G.route.isRoute() || !OSRM.G.route.isShown() ) { // error message if no route available (can trigger if user refreshes print-window)

View File

@ -38,10 +38,10 @@ or see http://www.gnu.org/licenses/agpl.txt.
<!-- scripts --> <!-- scripts -->
<script src="printing.js" type="text/javascript"></script> <script src="printing.js" type="text/javascript"></script>
<script src="../leaflet/leaflet-src.js" type="text/javascript"></script> <script src="../leaflet/leaflet-src.js" type="text/javascript"></script>
<script src="../leaflet/TileLayer.Bing.js" type="text/javascript"></script>
<script src="../base/leaflet/L.DashedPolyline.js" type="text/javascript"></script> <script src="../base/leaflet/L.DashedPolyline.js" type="text/javascript"></script>
<script src="../base/leaflet/L.MouseMarker.js" type="text/javascript"></script> <script src="../base/leaflet/L.MouseMarker.js" type="text/javascript"></script>
<script src="../base/leaflet/L.SwitchableIcon.js" type="text/javascript"></script> <script src="../base/leaflet/L.SwitchableIcon.js" type="text/javascript"></script>
<script src="../base/leaflet/L.TileLayer.Bing.js" type="text/javascript"></script>
<script src="../base/osrm/OSRM.MapView.js" type="text/javascript"></script> <script src="../base/osrm/OSRM.MapView.js" type="text/javascript"></script>
</head> </head>

View File

@ -20,6 +20,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
OSRM = {}; OSRM = {};
OSRM.GLOBALS = { main_handle:{boxVisible:function(){return false;}} }; // needed for fitBoundsUI to work OSRM.GLOBALS = { main_handle:{boxVisible:function(){return false;}} }; // needed for fitBoundsUI to work
OSRM.Localization = { current_language:"en"}; // needed for localized map tiles
OSRM.G = OSRM.GLOBALS; OSRM.G = OSRM.GLOBALS;
@ -54,7 +55,7 @@ OSRM.prefetchIcons = function(images_list) {
OSRM.drawMap = function(tile_server, bounds) { OSRM.drawMap = function(tile_server, bounds) {
// setup map // setup map
var tile_layer; var tile_layer;
if( tile_server.bing ) tile_layer = new L.TileLayer.Bing(tile_server.apikey, tile_server.type); if( tile_server.bing ) tile_layer = new L.TileLayer.Bing(tile_server.apikey, tile_server.type, tile_server.options);
else tile_layer = new L.TileLayer(tile_server.url, tile_server.options); else tile_layer = new L.TileLayer(tile_server.url, tile_server.options);
OSRM.G.map = new OSRM.MapView("overview-map", { OSRM.G.map = new OSRM.MapView("overview-map", {
center: new L.LatLng(48.84, 10.10), center: new L.LatLng(48.84, 10.10),