Google 地图反向地理编码网络服务设置语言

Google Map reverse geo-coding webservice setting language

我正在尝试从一对纬度和经度中获取地址。我正在

new google.maps.Geocoder().geocode({ 'latLng': latLng}, function (results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     //code to get details from address_components
   }
});

它工作正常。但是,如果我更改浏览器语言,地址组件会出现在选定的语言环境中。我不想要那个。我只需要英文地址。我正在使用以下代码来实现这一点。但它不起作用。我只收到所选语言的地址。

new google.maps.Geocoder().geocode({ 'latLng': latLng, 'language' :'en'}, function (results, status) {
               if (status == google.maps.GeocoderStatus.OK) {
  }
});

请告诉我我缺少什么?

我以前试过,我想你只需要将 language 添加到 Google 地图的 <script> 标签中:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=false&libraries=places&language=en-US"></script>

关注this answer 我认为它会对你有所帮助。在调用 geocode 函数之前,您首先要更改语言。之后,改回默认值:

function loadScript(lang) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
                'callback=initialize';
    if (lang) {
        script.src += '&language=' + lang;
    }

    script.id = "google-maps-script";
    document.body.appendChild(script);
}