javascript - 这里地图动态更改地图控件的语言
问题描述
使用此处的地图可以更改图层和控件的语言。这是此处地图的示例。http://jsfiddle.net/gh/get/jquery/2.1.0/heremaps/jsfiddle-github/tree/master/map-multi-language-support。我在这个例子中遇到的问题是它用这行代码改变了控制转换:
var ui = H.ui.UI.createDefault(map, defaultLayers, 'zh-CN');
.
这对初始语言有好处,但是如果我有一个可以更改语言的按钮,每次我想更改控制语言时是否需要重新创建这个 ui 变量?有没有像 H.ui.UI.setLocale 之类的方法(我试图搜索但找不到)。
解决方案
我们建议删除 UI 元素的旧实例,然后使用所需语言创建新实例。
H.ui.UI 类提供 dispose() 方法来移除对象。要了解更多信息,请参阅以下在线文档。
https://developer.here.com/documentation/maps/3.1.26.0/api_reference/H.ui.UI.html#dispose
这是示例代码,希望对您有所帮助。
var ui,defaultLayers,platform,map;
function switchMapLanguageToCN(){
switchLanguage("zh-CN")
}
function switchMapLanguageToEN(){
switchLanguage("en-US")
}
function switchLanguage(language){
if(typeof(ui) == "object"){
ui.dispose();
}
ui = H.ui.UI.createDefault(map, defaultLayers, language);
}
推荐阅读
- xml - VB6中的XML粉碎/查找最大属性值
- ios - 使用固定子视图自动调整表格视图单元格
- ruby-on-rails - 表单未向我的模型提交数据。如何在提交时创建数据?
- regex - 使用 RegExp 从 URL 中提取 ID
- c++ - 在 Windows 或 Linux 上运行时函数的行为不同
- django - 在 Django 的 ORM 中使用相同的参数链接 Q() 对象的问题
- python - keras Deep Learning Slowness - 使用 Python Chollet 进行深度学习的示例 IMDB 数据集
- javascript - 如何将 firebase 中特定 ref 的所有子对象放入一个对象中?
- bash - 如何在 Linux 中将一个文件名与另一个文件名匹配?
- android - 如何从 sparseArray 中减去单个字符串?