Google Map反向地理编码Web服务设置语言

时间:2015-10-08 07:56:12

标签: google-maps google-maps-api-3 geocoding

我想从一对lat和lng中获取地址。我是通过

来做的
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) {
  }
});

请告诉我这里缺少什么?

1 个答案:

答案 0 :(得分:0)

之前我曾尝试过,我认为您只需将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);
}