首页 > 解决方案 > 这里地图动态更改地图控件的语言

问题描述

使用此处的地图可以更改图层和控件的语言。这是此处地图的示例。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 之类的方法(我试图搜索但找不到)。

标签: javascriptwebtranslationhere-apiheremaps

解决方案


我们建议删除 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);
}

推荐阅读