Angular 使用谷歌地图动态添加语言/区域设置?

Angular 使用谷歌地图动态添加语言/区域设置?,angular,angular-google-maps,Angular,Angular Google Maps,我想使用谷歌地图动态添加语言。语言是动态的,可以从screen.locale检索。我的应用程序是基于区域设置的,当用户选择不同的语言时,一切都会发生变化。问题是谷歌地图的城市并没有因为语言而改变,我在ui gmap谷歌地图中并没有找到任何区域设置标签。我可以使用下面的代码片段吗 我使用的是角度v1: <ui-gmap-google-map center="question.map.initialcoords" zoom="question.map.zoom"

我想使用谷歌地图动态添加语言。语言是动态的,可以从screen.locale检索。我的应用程序是基于区域设置的,当用户选择不同的语言时,一切都会发生变化。问题是谷歌地图的城市并没有因为语言而改变,我在ui gmap谷歌地图中并没有找到任何区域设置标签。我可以使用下面的代码片段吗

我使用的是角度v1:

  <ui-gmap-google-map 
    center="question.map.initialcoords"  
    zoom="question.map.zoom" 
    pan="false" 
    control="question.map.control"
    options="question.map.options"
    >

      <ui-gmap-markers 
        idKey="'id'"
        models="question.markers" 
        coords="'coords'" 
        fit="true" 
        icon="'iconpath'"
        options="'options'" 
        >
        <ui-gmap-windows isIconVisibleOnClick="true" show="showwindow()">
          <div ng-non-bindable>
            {{title}}
          </div>
        </ui-gmap-windows>
      </ui-gmap-markers>
  </ui-gmap-google-map>

{{title}}

此项目不再积极维护

[

使用AGM与谷歌地图一起工作。它非常容易使用。

[

ts

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.css'],
})
export class AppComponent {
  title: string = 'My first AGM project';
  lat: number = 51.678418;
  lng: number = 7.809007;
}
HTML

<h1>{{ title }}</h1>

<!-- this creates a google map on the page with the given lat/lng from -->
<!-- the component as the initial center of the map: -->
<agm-map [latitude]="lat" [longitude]="lng">
  <agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>
{{title}
但如果你想使用,请使用下面的代码。 使用coords属性以设置纬度、经度 (coords=“marker.coords”)


$scope.marker={
id:0,
协调:{
纬度:40.1451,
经度:-99.6680
}

要替换该语言,首先应删除脚本和谷歌地图, 然后再次生成它并等待一段时间,直到它重新加载 你可以这样做:

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}}&region=israel&language= 
{{language}}';
script.id = "agmGoogleMapsApiScript";
document.body.appendChild(script);
await new Promise(resolve => setTimeout(resolve, 1000));
}
declare var google: any;
然后你应该重新加载agm核心地图,你可以通过走出组件来完成

最后,创建将触发该函数的视图

别忘了申报谷歌,比如:

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}}&region=israel&language= 
{{language}}';
script.id = "agmGoogleMapsApiScript";
document.body.appendChild(script);
await new Promise(resolve => setTimeout(resolve, 1000));
}
declare var google: any;
为我工作,希望有帮助:)