我正在使用AgmCoreModule来加载谷歌地图。 是否可以在选择语言时动态更改地图语言?
我可以使用以下代码
在地图加载时设置默认语言@NgModule({
imports: [
AgmCoreModule.forRoot({
libraries: ["places"],
language: 'de'
}),
...
]
})
但我真正需要的是改变从下拉列表中选择的语言的地图语言。 或 如何在MapsAPILoader中设置语言?
this._mapsAPILoader.load().then(() => {
...
});
感谢。
答案 0 :(得分:1)
试试这个:
imports: [
BrowserModule,
AgmCoreModule.forRoot({
apiKey: 'yourmapapikey',
language: 'iw',
})
],
iw - 希伯来语, 检查here是否有您的语言。
答案 1 :(得分:0)
为了替换语言,您首先应该删除脚本和Google地图, 然后再次生成它,等待一段时间,直到重新加载 您可以这样做:
async loadScript() {
var oldScript = document.getElementById("agmGoogleMapsApiScript");
if (oldScript !== null) {
oldScript.parentNode.removeChild(oldScript);
delete google.maps;
}
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'https://maps.googleapis.com/maps/api/js?
v=3&key={{YourApiKey}}®ion=israel&language=
{{language}}';
script.id = "agmGoogleMapsApiScript";
document.body.appendChild(script);
await new Promise(resolve => setTimeout(resolve, 1000));
}
然后您应该重新加载agm-core映射,可以通过退出组件来完成。
不要忘了这样声明Google:
declare var google: any;
为我工作,希望对您有所帮助:)