我需要在yandex地图中更改语言,但我不知道它是怎么做到的! yandex映射中的语言可以在脚本标记中静态更改。
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU&load=package.full"></script>
但我需要在运行应用程序时更改语言。
例如,谷歌地图有加载器:
HTML代码
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
JavaScript代码
google.load('maps', '3.7', {
'other_params' : 'sensor=true&language=' + langCode,
'callback' : deviceReadyFunc
});
在yandex地图中我还没找到。
答案 0 :(得分:0)
使用localStorage和动态添加script-tag解决此问题。
JavaScript代码
var script=document.createElement('script');
if (GLOBAL_LANGUAGE === 'en') {
script.src = 'http://api-maps.yandex.ru/2.1/?lang=en-US&load=package.full';
} else {
script.src = 'http://api-maps.yandex.ru/2.1/?lang=ru-RU&load=package.full';
}
document.getElementsByTagName('body')[0].appendChild(script);
script.onload = function() {
ymaps.ready(init);
};
在更改localStorage变量GLOBAL_LANGUAGE
后运行应用程序时,我调用reloadApp()
方法:
reloadApp: function() {
location.href = '#home';
location.reload();
}
执行此操作后,yandex会映射正在运行的应用程序中的语言。