谷歌地图反向地理编码web服务设置语言



我正试图从一对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) {
  }
});

请告诉我我在这遗漏了什么?

我以前试过,我认为你所需要的就是将language添加到谷歌地图的<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>
遵循这个答案,我想它会对你有所帮助。在调用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);
}

最新更新