首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态更改角-google-map语言

动态更改角-google-map语言
EN

Stack Overflow用户
提问于 2018-03-24 09:39:11
回答 4查看 4.6K关注 0票数 6

当语言发生变化时,是否有可能动态地改变地图语言?或者至少在我下次访问它时(在语言被更改之后)更改语言映射。

我可以使用以下代码在地图加载时设置默认语言(在mymap.module.ts中):

代码语言:javascript
运行
复制
@NgModule({ imports: [ 
  AgmCoreModule.forRoot({ apiKey: 'MY_KEY',
  language: 'es', }),
  ]
})

我可以使用this.translate.currentLang (在mymap.component.ts中)获得当前的语言。

但我不知道怎么把两者结合起来。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-03-24 14:06:29

为了改变map的语言,需要重新获取一堆本地化的JS脚本。因此,您可以尝试刷新整个页面(JS不是角),通过本地存储提供想要的语言,例如:

代码语言:javascript
运行
复制
@NgModule({ 
  imports: [ 
    AgmCoreModule.forRoot({ 
      apiKey: 'MY_KEY',
      language: localStorage && localStorage.gml || 'en'
    }),
  ]
})

若要重新加载页面,请使用window.location.reload()方法

StackBLITZ:https://stackblitz.com/edit/angular-google-maps-demo-f3xzhn?file=app%2Fapp.module.ts

票数 3
EN

Stack Overflow用户

发布于 2020-04-21 23:47:16

在app.component中添加以下内容,确保在语言更改时更新本地存储中的"lang“,并使用window.location.reload()重新加载页面

代码语言:javascript
运行
复制
export class AppComponent implements OnInit {
  constructor() { }

  ngOnInit() {

    var script = document.createElement('script');
    script.src = `https://maps.googleapis.com/maps/api/js?v=quarterly&key=${KEY}&libraries=places&language=${localStorage && localStorage.lang || 'en'}`;
    document.head.appendChild(script);
  }
}

在您的相关模块中添加:

代码语言:javascript
运行
复制
@NgModule({ 
  imports: [ 
    AgmCoreModule.forRoot(),
  ]
})
票数 1
EN

Stack Overflow用户

发布于 2021-03-24 01:40:28

我知道这个问题在很久以前就已经提出了,但是我会发送一个链接给任何对这个解决方案感兴趣的人。它有点复杂,但是它可以很好地应用于AOT AgmCoreModule -从角服务动态加载Google密钥

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49463248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档